Skip to main content

Cato Networks cli wrapper for the GraphQL API.

Project description

Cato Networks GraphQL API CLI

The package provides a simple to use CLI that reflects industry standards (such as the AWS cli), and enables customers to manage Cato Networks configurations and processes via the Cato Networks GraphQL API easily integrating into configurations management, orchestration or automation frameworks to support the DevOps model.

Overview

CatoCLI is a command-line interface that provides access to the Cato Networks GraphQL API, enabling you to:

  • Generate detailed network and security reports
  • Analyze user and application activity
  • Monitor network performance and events
  • Export data in multiple formats (JSON, CSV)
  • Automate reporting and monitoring tasks

Prerequisites

  • Python 3.6 or higher
  • CatoCLI installed (pip3 install catocli)
  • Valid Cato Networks API token and Account ID
  • Proper authentication configuration (see Authentication Setup)

Installation

pip3 install catocli

Authentication Setup

Configure your CatoCLI profile before using any query operations:

# Interactive configuration
catocli configure set

# Non-interactive configuration
catocli configure set --cato-token "your-api-token" --account-id "12345"

# List configured profiles
catocli configure list

# Show current profile
catocli configure show

Documentation

For detailed information about profile management, see PROFILES.md.

CLICK HERE to see how create an API key to authenticate.

Running the CLI

catocli -h
catocli query -h
catocli query entityLookup -h
catocli query entityLookup '{"type":"country"}`

// Override the accountID value as a cli argument
catocli query entityLookup -accountID=12345 '{"type":"country"}`

Check out run locally not as pip package

git clone git@github.com:Cato-Networks/cato-cli.git
cd cato-cli
python3 -m catocli -h

Custom Report Query Operations

Custom Report Analytics Queries

Operation Description Guide
Account Metrics Network performance metrics by site, user, or interface 📊
Application Statistics User activity and application usage analysis 📱
Application Statistics Time Series Traffic analysis over time with hourly/daily breakdowns 📈
Events Time Series Security events, connectivity, and threat analysis 🔒
Socket Port Metrics Socket interface performance and traffic analysis 🔌
Socket Port Time Series Socket performance metrics over time ⏱️

Advanced Topics

Quick Start Examples

Basic Network Health Check

# Get last hour account metrics
catocli query accountMetrics '{"timeFrame":"last.PT1H"}'

User Activity Report (csv format)

# Export user activity for the last month to CSV
catocli query appStats '{
    "appStatsFilter": [],
    "appStatsSort": [],
    "dimension": [ { "fieldName": "user_name" }, { "fieldName": "domain" } ],
    "measure": [
        { "aggType": "sum", "fieldName": "upstream" },
        { "aggType": "sum", "fieldName": "downstream" },
        { "aggType": "sum", "fieldName": "traffic" },
        { "aggType": "sum", "fieldName": "flows_created" }
    ],
    "timeFrame": "last.P1D"
}' -f csv --csv-filename appStats_daily_user_activity_report.csv

Security Events Analysis

# Weekly security events breakdown
catocli query eventsTimeSeries '{
    "buckets": 7,
    "eventsFilter": [{"fieldName": "event_type", "operator": "is", "values": ["Security"]}],
    "eventsMeasure": [{"aggType": "sum", "fieldName": "event_count"}],
    "perSecond": false,
    "timeFrame": "last.P7D"
}' -f csv --csv-filename eventsTimeSeries_weekly_security_events_report.csv

Output Formats

CatoCLI supports multiple output formats:

  • Enhanced JSON (default): Formatted with granularity adjustments
  • Raw JSON: Original API response with -raw flag
  • CSV: Structured data export with -f csv
  • Custom CSV: Named files with --csv-filename and --append-timestamp

Time Frame Options

Common time frame patterns:

  • last.PT1H - Last hour
  • last.P1D - Last day
  • last.P7D - Last week
  • last.P1M - Last month
  • utc.2023-02-{28/00:00:00--28/23:59:59} - Custom UTC range

Getting Help

  • Use -h or --help with any command for detailed usage
  • Check the Cato API Documentation
  • Review individual operation guides linked above

This CLI is a Python 3 application and has been tested with Python 3.6 -> 3.8

Requirements:

python 3.6 or higher

Confirm your version of python if installed:

Open a terminal
Enter: python -V or python3 -V

Installing the correct version for environment:

https://www.python.org/downloads/

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

catocli-3.0.30.tar.gz (6.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

catocli-3.0.30-py3-none-any.whl (7.4 MB view details)

Uploaded Python 3

File details

Details for the file catocli-3.0.30.tar.gz.

File metadata

  • Download URL: catocli-3.0.30.tar.gz
  • Upload date:
  • Size: 6.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for catocli-3.0.30.tar.gz
Algorithm Hash digest
SHA256 5d098ee2b714b85bd2871ff79ea1a257f28c99db81b8611bca2d7af127bf67a2
MD5 1c37456209a76c645ef006fff28621b5
BLAKE2b-256 f0bc3edcf55fb48c57241eee49123066f101f0b8fc5b3e2758adc74c45c6c679

See more details on using hashes here.

Provenance

The following attestation bundles were made for catocli-3.0.30.tar.gz:

Publisher: publish-to-pypi.yml on catonetworks/cato-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file catocli-3.0.30-py3-none-any.whl.

File metadata

  • Download URL: catocli-3.0.30-py3-none-any.whl
  • Upload date:
  • Size: 7.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for catocli-3.0.30-py3-none-any.whl
Algorithm Hash digest
SHA256 a91d52fff0e4a341bf1faf468e7d8f2f7dc599ef8a04fb0614c3539a6cd95857
MD5 80682260081199afb8bc1bec587805c9
BLAKE2b-256 44d883f25d9f3996788ca808cbe5411ae62454eae602f8020b933271c178adcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for catocli-3.0.30-py3-none-any.whl:

Publisher: publish-to-pypi.yml on catonetworks/cato-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page