The Cisco Observability Platform provides core capabilities for developers to build observability solutions to gain visibility and actionable insights across their technology and business stack. The platform leverages OpenTelemetry collections to collect MELT* telemetry and then transforms the raw data into flexible and scalable objects that can be correlated and queried.
*MELT: Metrics, Events, Logs and Traces
The platform control tool, fsoc
, provides a command line interface to help developers manage their solutions
lifecycle and interact with the core services and solutions in the platform.
The fsoc
user documentation is published in Cisco's DevNet as part of the platform documentation.
As fsoc
is still evolving quickly, the DevNet documentation may sometimes not include information about the latest released version of fsoc
. The fsoc help
command is always the best way to get the correct help for the version of fsoc you have. Most commands provide sample command lines you can try.
You can also run fsoc gendocs
to generate a command reference. It provides the same information as fsoc help
but in static Markdown pages.
To build fsoc
locally, after cloning this repository:
- Run
go build
- Use the binary saved in the same directory, e.g.,
./fsoc help
For more information on setting up the development environment and building fsoc
, please see CONTRIBUTING.
- Install homebrew if not already installed from https://brew.sh
- Install
fsoc
using homebrewbrew tap cisco-open/tap brew install fsoc
Prebuilt binaries are published for each fsoc
release for the following platforms:
Platform | Binary file name |
---|---|
Mac OS, Intel | fsoc-darwin-amd64 |
Mac OS, M1/M2 | fsoc-darwin-arm64 |
Linux, Intel/AMD | fsoc-linux-amd64 |
Linux, ARM | fsoc-linux-arm64 |
Windows 10/11 | fsoc-windows-amd64.exe |
To install fsoc
on Linux or on Windows with the Windows Subsystem for Linux (WSL), use the following commands:
FSOCOS=linux-amd64 \
bash -c 'curl -fSL -o fsoc "https://github.com/cisco-open/fsoc/releases/latest/download/fsoc-${FSOCOS}"'
chmod +x fsoc
sudo mv fsoc /usr/local/bin
Change the FSOCOS
platform name above to linux-arm64
for installing on Linux/ARM.
curl -fSL -o fsoc "https://github.com/cisco-open/fsoc/releases/latest/download/fsoc-darwin-amd64"
chmod +x fsoc
sudo mv fsoc /usr/local/bin
curl -fSL -o fsoc "https://github.com/cisco-open/fsoc/releases/latest/download/fsoc-darwin-arm64"
chmod +x fsoc
sudo mv fsoc /usr/local/bin
If you will run fsoc
on the Windows Subsystem for Linux (WSL), please use the Linux and WSL instructions above.
For installing fsoc
as a native application on Windows, follow these steps:
- Download the latest release. If you have curl installed, you can run the following command in cmd.exe or Powershell:
curl -fSL -o fsoc "https://github.com/cisco-open/fsoc/releases/latest/download/fsoc-windows-amd64.exe"
-
Append or prepend the
fsoc
binary folder to your PATH environment variable. -
Test to ensure the version of
fsoc
is the same as the latest:
fsoc version
This is an optional step. To add autocompletion in bash, run:
. <(./fsoc completion bash)
For other shells, check out the completion help with fsoc help completion
.
Configure the default profile to your tenant of choice (replace MYTENANT with your tenant's name):
fsoc config create auth=oauth url=https://MYTENANT.observe.appdynamics.com
This command will create the initial fsoc
configuration file and attempt to log in. Since this example uses OAuth authentication, the command will pop up a browser to perform the login and then continue executing the command. Subsequent invocations of fsoc will use cached credentials. You can close the browser once is shows "Logged in successfully".
Use the fsoc help config create
command to see examples of the different authentication methods that fsoc
supports in addition to OAuth (e.g., service principal, agent principal, local). You can find additional details in the fsoc
config page in the platform docs.
We are working to provide channels for help, suggestions, etc., for this project. In the meantime, if you have suggestions or want to report a problem, please use Github issues.