目录
2.4 zabbix的API接口获取服务器列表 (忽略,上面添加识别再有如下代码测试)
简介
Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。Grafana主要特性:灵活丰富的图形化选项;可以混合多种风格;支持白天和夜间模式;多个数据源。
一、Grafana安装部署
1.下载rpm源并进行安装
//下载rpm包
[root@zabbix-server ~]# wget https://mirrors.tuna.tsinghua.edu.cn/grafana/yum/rpm/grafana-7.1.0-1.x86_64.rpm
//安装
[root@zabbix-server ~]# yum localinstall grafana-7.1.0-1.x86_64.rpm -y
2.启动grafana及开机启动
[root@zabbix-server ~]# systemctl start grafana-server.service
[root@zabbix-server ~]# systemctl enable grafana-server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.
3.查看端口(默认端口3000)
[root@zabbix-server ~]# netstat -lntp|grep 3000
tcp6 0 0 :::3000 :::* LISTEN 124915/grafana-serv
grafana包内文件详情
二进制文件: /usr/sbin/grafana-server
启动文件: /etc/init.d/grafana-server
启动环境变量: /etc/sysconfig/grafana-server
配置文件: /etc/grafana/grafana.ini
systemd服务名称: grafana-server.service
默认配置的日志文件:var/log/grafana/grafana.log
sqlite3数据库文件: /var/lib/grafana/grafana.db
4.反向代理配置访问
server {
listen 80;
server_name web.grafana.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
5.浏览器访问
访问链接:http://web.grafana.com/
初始化账号:admin admin
修改初始密码。
二、Grafana相关配置
2.1 安装zabbix插件
grafana默认不支持zabbix插件,需要安装zabbix插件
这里用命令行安装插件
//查看相关帮助
[root@zabbix-server ~]# grafana-cli plugins --help
//从列举中的插件过滤zabbix插件
[root@zabbix-server ~]# grafana-cli plugins list-remote |grep zabbix
id: alexanderzobnin-zabbix-app version: 3.12.4
//依据id安装插件
[root@zabbix-server ~]# grafana-cli plugins install alexanderzobnin-zabbix-app
installing alexanderzobnin-zabbix-app @ 3.12.4
from: https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/3.12.4/download
into: /var/lib/grafana/plugins
✔ Installed alexanderzobnin-zabbix-app successfully
Restart grafana after installing plugins . <service grafana-server restart>
输出可知
从这个地址 https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/3.12.4/download 下载包放到 /var/lib/grafana/plugins目录下,解压后,重启Grafana服务。
[root@zabbix-server plugins]# ll
总用量 2692
drwxr-xr-x 8 root root 4096 7月 28 16:05 alexanderzobnin-grafana-zabbix-309146f
-rw-r--r-- 1 root root 2747693 8月 26 17:47 alexanderzobnin-grafana-zabbix-v3.12.4-1-g309146f.zip
drwxr-xr-x 8 root root 4096 8月 26 17:42 alexanderzobnin-zabbix-app
[root@zabbix-server plugins]# systemctl restart grafana-server.service
2.2 返回Grafana页面
再次查看grafana插件是否安装成功。
然后enable开启插件
2.3 新建一个zabbix数据源
需要填写zabbix相关信息:Zabbix API,Zabbix 账号
识别出版本号,说明添加成功!!
2.4 zabbix的API接口获取服务器列表 (忽略,上面添加识别再有如下代码测试)
说明
1) 基于Web的API,作为Web前端的一部分提供,使用JSON-RPC 2.0协议
2) 身份认证Token:在访问Zabbix中的任何数据之前,需要登录并获取身份验证令牌
3) 请求URL:http://web.zabbix.com/api_jsonrpc.php
4) Method参数:请求api方法
2.4.1 获取Zabbix API版本
[root@zabbix-server ~]# curl -X POST -H "Content-Type":application/json-rpc --data '{"jsonrpc":"2.0", "method":"apiinfo.version", "id":1, "auth":null, "params":{}}' http://web.zabbix.com/api_jsonrpc.php
{"jsonrpc":"2.0","result":"5.0.0","id":1}
2.4.2 Zabbix Admin用户身份登录,返回认证token
[root@zabbix-server ~]# curl -X POST -H "Content-Type":application/json-rpc --data '{"jsonrpc":"2.0", "method":"user.login", "id":1, "auth":null, "params":{"user":"Admin", "password":"zabbix"}}' http://web.zabbix.com/api_jsonrpc.php
{"jsonrpc":"2.0","result":"b935365484d6d484356beb9f4ef1cd8a","id":1}
3.检索所有已配置主机的ID、主机名和接口(auth值对应token的值)
[root@zabbix-server ~]# curl -X POST -H "Content-Type":application/json-rpc --data '{"jsonrpc":"2.0", "method":"host.get", "id":1, "auth":"b935365484d6d484356beb9f4ef1cd8a", "params":{"output":["hostid","host"], "selectInterfaces":["interfaceid","ip"]}}' http://web.zabbix.com/api_jsonrpc.php
{"jsonrpc":"2.0","result":[{"hostid":"10084","host":"Zabbix server","interfaces":[{"interfaceid":"1","ip":"127.0.0.1"}]},{"hostid":"10327","host":"192.168.1.129","interfaces":[{"interfaceid":"5","ip":"192.168.1.129"}]},{"hostid":"10328","host":"192.168.1.128","interfaces":[{"interfaceid":"6","ip":"192.168.1.128"}]}],"id":1}
2.5导入dashboard模板
导入完成后,接下来回到dashboard主界面,点击home。
如下图,可以看到grafana导入的3个仪表盘。
2.6 Grafana添加自定义面板
待续!