Cactidbadapter is a utility tool of python for network operators and Cacti users. Network operators and administrators sometimes needs to get registered data from Cacti database. This module can get easily devices and fetched snmp polling value.
- Python2.7, 3.4, PyPy.
Get from PyPI :
$ pip install cactidbadapter
Get from Github :
$ git clone https://github.com/mtoshi/cactidbadapter
$ cd cactidbadapter
$ python setup.py install
Example for get_host(). :
>>> from cactidbadapter import CactiDBAdapter
>>> cacti = CactiDBAdapter(database='cacti',
... user='admin',
... password='*****',
... port=3306)
>>> cacti.get_host()
[{'hostname': '127.0.0.1', 'id': 1, 'description': 'Localhost'}]
Example for get_host() hostname and description columns. :
>>> cacti.get_host(columns=('hostname', 'description',))
[{'hostname': '127.0.0.1', 'description': 'Localhost'}]
Example for get_host() all columns. :
>>> cacti.get_host(columns=('*',))
[{'hostname': '127.0.0.1', 'id': 1, 'description': 'Localhost', 'snmp_version': 2, 'snmp_timeout': 500, ... }]
Example for get_host() all columns and limit 1. :
>>> cacti.get_host(columns=('*',), limit=1)
[{'hostname': '127.0.0.1', 'id': 1, 'description': 'Localhost', 'snmp_version': 2, 'snmp_timeout': 500, ... }]
Example for show host table columns. :
>>> cacti.host_columns()
['availability', 'availability_method', 'avg_time', 'cur_time', 'description', ... ]
Other sample is here. :
https://github.com/mtoshi/cactidbadapter/blob/master/samples/sample.py
Cacti doesn't have system informations with default. If you need system values (sysDescr, sysNaem, sysUpTime ...), then you install "system.xml".
For Debian/Ubuntu :
sudo cp utils/cacti/system.xml /usr/share/cacti/resource/snmp_queries/
Add Data Queries :
Name: SNMP - Get System Information Description: SNMP System Information XML Path: <path_cacti>/resource/snmp_queries/system.xml Data Input Method: Get SNMP Data (Indexed)
Add Host Templates :
"Left menu" > "Host Templates" > YOUR_TEMPLATE_NAME > "Associated Data Queries" > Add "Add Data Query": "SNMP - Get System Information" # Select and Add.