目的: 獲取zabbix中所有監控的機器主機的IP信息
方法1 使用zabbix API 接口 python 程序
方法2 直接使用數據庫進行查詢 導出(ip 包括monitor和not monitor的機器,還有為刪除的一些殘留機器ip)
這里使用方法二來介紹
mysql -uUSERNAME -pPASSWORD 登入mysql
mysql> use zabbix 選定操作zabbix 庫
mysql> select * from interface limit 1,10; 查看接口信息的表,表中一個字段是IP地址 (hosts 表中有 host 和name 字段,但是沒有接口IP 字段)
+-------------+--------+------+------+-------+----------------+-----+-------+
| interfaceid | hostid | main | type | useip | ip | dns | port |
+-------------+--------+------+------+-------+----------------+-----+-------+
| 255 | 10361 | 1 | 1 | 1 | 192.168.213.21 | | 10050 |
| 256 | 10362 | 1 | 1 | 1 | 192.168.213.22 | | 10050 |
| 257 | 10363 | 1 | 1 | 1 | 192.168.213.23 | | 10050 |
| 258 | 10364 | 1 | 1 | 1 | 192.168.213.24 | | 10050 |
| 259 | 10365 | 1 | 1 | 1 | 192.168.213.25 | | 10050 |
| 261 | 10367 | 1 | 1 | 1 | 192.168.213.27 | | 10050 |
| 262 | 10368 | 1 | 1 | 1 | 192.168.213.28 | | 10050 |
| 263 | 10369 | 1 | 1 | 1 | 192.168.213.29 | | 10050 |
| 264 | 10370 | 1 | 1 | 1 | 192.168.213.30 | | 10050 |
| 265 | 10371 | 1 | 1 | 1 | 192.168.213.31 | | 10050 |
+-------------+--------+------+------+-------+----------------+-----+-------+
mysql> select * from interface into outfile '/tmp/zabbix.ip'; 已文本形式導出這個表(注意導出的路徑 登入數據庫用戶必須,對這個路徑有寫的權限,/tmp權限777)