# Catalyst (sFlow)

Here's a general guideline to configure sFlow on a supported Cisco Catalyst switch, such as the Catalyst 2960L and Catalyst 1000:

### Access the switch CLI

Connect to your Cisco Catalyst switch via SSH or a console cable. If connecting via SSH, use a tool like PuTTY or the built-in SSH client in your terminal, and enter the switch's IP address, username, and password to log in.

### Enter global configuration mode

Once logged in, enter global configuration mode by typing the following command:

```shell
configure terminal
```

### Configure sFlow settings

To configure sFlow settings, including the IP address and port of the remote flow collector, use the following commands:

```shell
sflow collector id ID ip x.x.x.x udp-port yyyy datagram-size zzzz
```

Replace `ID` with the ID of this collector definition, `x.x.x.x` with the IP address of your sFlow collector, `yyyy` with the desired port number for the sFlow collector (e.g., `6343`), and `zzzz` with the maximum size, in bytes, of the UDP datagram containing sFlow records that is allowed to be sent (e.g., `1280` for 1280 bytes).

### Configure sFlow agent IP address

To set the sFlow agent IP address, use the following command:

```shell
sflow agent ip x.x.x.x
```

Replace `x.x.x.x` with the IP address to be used as the sFlow agent IP address.

### Enable sFlow on interfaces

To enable sFlow on the desired interfaces, use the following commands:

```shell
interface INTERFACE_NAME
sflow flow-sampling DIRECTION id ID rate yyyy hdr-size zzzz
exit
```

Replace `INTERFACE_NAME` with the name of the interface for which you want to enable sFlow (e.g., `GigabitEthernet1/0/1`). Replace `DIRECTION` with the direction of traffic, `input` or `output`, that is to be sampled, `ID` with the ID of the collector definition to which the sFlow records are to be sent, `yyyy` with the sampling rate (e.g., `1024` for 1 in 1024 packets), and `zzzz` with the number of bytes to included from the sampled IP packet.

This step should be repeated for all interfaces for which sFlow sampling is desired.

### Save the configuration

To save your configuration changes, exit global configuration mode and use the following command:

```shell
copy running-config startup-config
```

### Verify the configuration

To verify that sFlow is configured correctly, use the following command:

```shell
show sflow
```

This command should display the sFlow settings you just configured. For example:

```shell
Agent:
------
IP : 192.0.2.11

Collector:
----------
Max number of collectors : 2

 Id |           Collector IP        | Port | Max Datagram size
--------------------------------------------------------------
 1  | 192.168.100.10                  | 6343 | 1280
```

Please note that these instructions may not apply to all Cisco Catalyst switches, as sFlow support varies between models. Ensure that your specific switch model supports sFlow before attempting to configure it.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.elastiflow.com/additional-resources-reference-articles/guides/configuring-flow-logs-on-devices/device_flow_cisco_catalyst_sflow.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
