Grafana给Zabbix穿上一套华丽的衣裳

Grafana IT敢客 3个月前 (07-06) 1007次浏览 已收录 7个评论 扫描二维码

       Zabbix 对于运维人员而言,真的是一款比较强大又方便的运维监控工具。不论是各种大小型企业都在用,一个是访问管理维护,另一个也是方便集成其他工具方便进行告警通知,比如助讯通等对于内网环境比较便利,大型环境下能够实现不同维护人员及时又方便的提醒,当然还有其他更加便利的集成!但是针对 zabbix 收集的数据,如何以更加方便的方式展示出来,Grafana 可能是一个更好的选择!

一、安装 Zabbix

        Zabbix 的一个很优秀的分布式监控服务器, 它有两部分组成:

1. “zabbix-server”用来收集并且在 web 端展示数据

2. “zabbix-agent”用来采集数据,发送给 server

        在安装 Zabbix 时,用了 3 台虚拟机来测试监控的数据是否正常采集、展示:

Server:

ZabbixServer — IP : 192.168.1.133

Client:

ZabbixClient_1 — IP : 192.168.1.134

ZabbixClient_2 — IP : 192.168.1.135 

1. 关闭防火墙

        Linux 的防火墙是咱们新手的噩梦,很多情况会出现能 ping 通,但是访问不了 Web 页面。所以开始就干掉它!

// 关闭防火墙

[root@localhost ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@localhost ~]# systemctl stop firewalld   #如果又 firewalld 防火墙的话

// 开机关闭防火墙

[root@localhost ~]# chkconfig iptables off
[root@localhost ~]# systemctl disable firewalld

2. 安装 Zabbix 下载源

        zabbix 官方提供了下载源,直接执行下面命令,下载安装就可以了

# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

        提示安装成功后,查看 Linux 下载源,是否正确安装,如果安装成功,Linux 下会有 zabbix.repo 源文件

[root@localhost Desktop]# ll /etc/yum.repos.d/
total 28
-rw-r--r--. 1 root root 1991 Aug  4 00:13 CentOS-Base.repo
-rw-r--r--. 1 root root  647 Aug  4 00:13 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  289 Aug  4 00:13 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Aug  4 00:13 CentOS-Media.repo
-rw-r--r--. 1 root root 6259 Aug  4 00:13 CentOS-Vault.repo
-rw-r--r--. 1 root root  401 Sep 11  2014 zabbix.repo

3. ZabbixClient — 安装 zabbix-agent 代理

       分别在 ZabbixClient_1 与 ZabbixClient_2 安装并配置如下设置:

       关闭防火墙

[root@localhost ~]# service iptables stop
[root@localhost ~]# systemctl stop firewalld 
[root@localhost ~]# chkconfig iptables off
[root@localhost ~]# systemctl disable firewalld

        安装 Zabbix 官方下载源

[root@localhost ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

        安装 zabbix-agent,在下载的时候,会自动安装 zabbix-agent 的基础依赖包

[root@localhost ~]# yum install zabbix-agent

        进入 zabbix-agent 的 Config 文件

[root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf

        配置 zabbix-agent 的参数,主要修改 Server 的 IP 和 Hostname,

Server=192.168.1.133
Hostname=localhost

      启动 zabbix-agent

[root@localhost ~]# service zabbix-agent start

4. ZabbixServer — 安装 zabbix-server 服务

       关闭防火墙

[root@localhost ~]# service iptables stop
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# chkconfig iptables off
[root@localhost ~]# systemctl disable firewalld

        安装 Zabbix 官方下载源

[root@localhost ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm

        通过 zabbix 提供的下载源,下载并安装 zabbix-server-mysql 和 zabbix-web-mysql,这个两个 mysql 数据库是用来存放采集到的数据,Zabbix 的 web 端会通过这些数据,来展示绘图。而 zabbix-get 则是用来收集数据的指令。

# yum install zabbix-server-mysql zabbix-web-mysql zabbix-get

        在下载这两个包的时候,会提示你安装基础依赖包,其中这些基础包中,还有 zabbix-server 的服务端的包,选择“y”继续即可。

// 以下是需要安装的基础依赖包

================================================================================
 Package               Arch     Version            Repository              Size
================================================================================
Installing:
 zabbix-server-mysql   x86_64   2.4.6-1.el6        zabbix                 1.5 M
 zabbix-web-mysql      noarch   2.4.6-1.el6        zabbix                  14 k
Installing for dependencies:
 OpenIPMI-libs         x86_64   2.0.16-14.el6      base                   473 k
 fping                 x86_64   2.4b2-16.el6       zabbix-non-supported    31 k
 iksemel               x86_64   1.4-2.el6          zabbix-non-supported    47 k
 net-snmp              x86_64   1:5.5-54.el6_7.1   updates                308 k
 php-bcmath            x86_64   5.3.3-46.el6_6     updates                 39 k
 php-mbstring          x86_64   5.3.3-46.el6_6     updates                459 k
 php-mysql             x86_64   5.3.3-46.el6_6     updates                 86 k
 zabbix                x86_64   2.4.6-1.el6        zabbix                 161 k
 zabbix-server         x86_64   2.4.6-1.el6        zabbix                  22 k
 zabbix-web            noarch   2.4.6-1.el6        zabbix                 4.5 M
Updating for dependencies:
 net-snmp-libs         x86_64   1:5.5-54.el6_7.1   updates                1.5 M
 php                   x86_64   5.3.3-46.el6_6     updates                1.1 M
 php-cli               x86_64   5.3.3-46.el6_6     updates                2.2 M
 php-common            x86_64   5.3.3-46.el6_6     updates                529 k
 php-gd                x86_64   5.3.3-46.el6_6     updates                111 k
 php-pdo               x86_64   5.3.3-46.el6_6     updates                 79 k
 php-xml               x86_64   5.3.3-46.el6_6     updates                107 k

Transaction Summary
================================================================================

5. ZabbixServer — 配置 zabbix-server 的数据库

        启动 mysql,我的 CentOS 在安装的时候,就把 mysql 的软件给安装了,如果没有 mysql,则需要去安装 mysql,我这里就直接启动 mysql 就可以了

# service mysqld start

        成功启动 mysql 的话,输入 mysql,就可以进入 mysql 的命令行了。进入命令行,创建 zabbix 数据库

[root@localhost ~]# mysql
mysql> create database zabbix;
Query OK, 1 row affected (0.00 sec)

        在 mysql 中,查看刚刚创建的 zabbix 是否创建成功,如下图数据库中,有 zabbix 代表已经创建成功

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
| zabbix             |
+--------------------+
4 rows in set (0.00 sec)

        接下要要执行 zabbix 官方提供是 sql 语句。在安装基础依赖包的时候,已经在文件里面了。现在可以直接执行

[root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-2.4.6/create/
[root@localhost create]# mysql -uroot zabbix < schema.sql
[root@localhost create]# mysql -uroot zabbix < images.sql 
[root@localhost create]# mysql -uroot zabbix < data.sql

6. ZabbixServer — 配置 zabbix-server 的服务参数

        配置在以下路径里面 :

# vim /etc/zabbix/zabbix_server.conf

        如果没有特殊需要的话,使用默认配置就可以了,我的 mysql 账户是 root,所以需要修改 DBuser

LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBName=zabbix
DBUser=root
DBSocket=/var/lib/mysql/mysql.sock
StartPollers=5
CacheSize=256M
SNMPTrapperFile=/var/log/snmptt/snmptt.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts

        修改 zabbix 的时区,有些系统并不是北京时间,如果是国外的时间,在展示出来的图的时间就是错的,为了保守起见,设置一下 zabbix 的时区

# vim /etc/httpd/conf.d/zabbix.conf

        修改以下字段

php_value date.timezone Asia/Shanghai

        修改 zabbix 的 php 的时区

# vim /etc/php.ini

        修改以下字段

date.timezone = Asia/Shanghai

        启动 Zabbix 服务,启动 httpd:

[root@localhost create]# service zabbix-server start
[root@localhost create]# service httpd start

7. 使用 zabbix-get

        安装好了 zabbix-agent 和 zabbix-server。在 Server 端试试能不能收到 agent 端的数据,可以使用 zabbix-get。在安装 mysql 的时候,已经将 zabbix-get 安装过了。可以使用 zabbix_get -help 命令来查看该命令怎么使用

[root@localhost create]# zabbix_get -help
Zabbix get v2.4.6 (revision 54796) (10 August 2015)

usage: zabbix_get [-hV] -s <host name or IP> [-p <port>] [-I <IP address>] -k <key>

Options:
  -s --host <host name or IP>          Specify host name or IP address of a host
  -p --port <port number>              Specify port number of agent running on the host. Default is 10050
  -I --source-address <IP address>     Specify source IP address

  -k --key <key of metric>             Specify key of item to retrieve value for

  -h --help                            Display help information
  -V --version                         Display version number

Example: zabbix_get -s 127.0.0.1 -p 10050 -k "system.cpu.load[all,avg1]"

        测试是否能收到数据,使用以下命令,发现是可以收到的。

// 测试是否可以收到系统的信息

[root@localhost create]# zabbix_get -s 192.168.1.134 -p 10050 -k "system.uname"
Linux localhost.localdomain 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64

// 测试是否可以收到 CPU 的数据

[root@localhost create]# zabbix_get -s 192.168.1.134 -p 10050 -k "system.cpu.load"
0.020000

8. 登录 Zabbix 的 Web 端

        在 Server 端,启动 Zabbix 服务,启动 httpd:

[root@localhost create]# service zabbix-server start
[root@localhost create]# service httpd start

        登录 Zabbix 的 Web 客户端,在浏览器中输入“http://192.168.1.133/zabbix/index.php”,默认会跳转至 Zabbix 的 setup 引导页面:

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击 Next

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击 Next

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击 Test connection,否则无法点击 Next,  测试连接成功后,点击 Next

Grafana 给 Zabbix 穿上一套华丽的衣裳

        设置端口,可以直接使用默认设置的端口 10051

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击 Next

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击 Next

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击 Finish,完成初始化引导

Grafana 给 Zabbix 穿上一套华丽的衣裳

        输入默认的账号密码,账号:Admin, 密码 zabbix

Grafana 给 Zabbix 穿上一套华丽的衣裳

9. 在 Web 配置 zabbix 监控 agent

        点击下图的 Create host

Grafana 给 Zabbix 穿上一套华丽的衣裳

        按下图配置,主意要输入 agent 的 IP 和端口,端口默认是 10050

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击 select,选择 Linux OS 和 zabbix Server 的模板,点击 Select->Add->Add,如下图

Grafana 给 Zabbix 穿上一套华丽的衣裳

        添加了以后就已经自动启动了,可以点击 Graphs,查看是否有数据过来

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击 CPU jumps

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击 preview

Grafana 给 Zabbix 穿上一套华丽的衣裳

        就可以看到 agent 那边有数据传过来了

Grafana 给 Zabbix 穿上一套华丽的衣裳

10. 安装 Grafana

        在 ZabbixServer 服务器上,安装 Grafana

yum install https://grafanarel.s3.amazonaws.com/builds/grafana-2.1.1-1.x86_64.rpm

        下载 Grafana 的 Zabbix 插件,在 git 上下载,如果无法运行下面命令的话,可以先“# yum install git”安装这个命令

[root@localhost ~]# git clone https://github.com/linglong0820/grafana-zabbix

        将插件复制到 Grafana 文件下

[root@localhost ~]# cp -r grafana-zabbix/zabbix/  /usr/share/grafana/public/app/plugins/datasource/

        启动 Grafana

[root@localhost ~]# service grafana-server start
[root@localhost ~]# chkconfig grafana-server on

11. 登录 Grafana 并且配置

        启动 Grafana 后,在浏览器中输入“http://192.168.246.133:3000/login”就可以看到页面了。

Grafana 给 Zabbix 穿上一套华丽的衣裳

        输入默认用户名和密码,用户名:admin, 密码:admin, 点击登录

Grafana 给 Zabbix 穿上一套华丽的衣裳

        按如下配置

        【主意 1】Zabbix 的 API 地址为“http://192.168.1.133/zabbix/api_jsonrpc.php”,其中 IP 的安装 zabbix-server 的服务器 IP

        【主意 2】Zabbix 的 API 账号密码就是 Zabbix 的 Web 端登录账号和密码,账号:Admin, 密码 zabbix

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击 Add 后,点击 Test Connection 测试是否可以连接。提示“Success”说明连接成功,点击 Save

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击 Dashboard,去主目录设置, 点击 new,新建一个 Home

Grafana 给 Zabbix 穿上一套华丽的衣裳

        新建一个 Graph

Grafana 给 Zabbix 穿上一套华丽的衣裳

        点击下列红框处->选择 Edit->选择数据库 ZabbixClient

Grafana 给 Zabbix 穿上一套华丽的衣裳

        然后配置一下,就可以出现华丽丽的数据了,下图都是官方的示意图:

Grafana 给 Zabbix 穿上一套华丽的衣裳

Grafana 给 Zabbix 穿上一套华丽的衣裳

Grafana 给 Zabbix 穿上一套华丽的衣裳

        这里附上个人配置的一套图。
Grafana 给 Zabbix 穿上一套华丽的衣裳
Grafana 给 Zabbix 穿上一套华丽的衣裳

IT 敢客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Grafana 给 Zabbix 穿上一套华丽的衣裳
喜欢 (13)
[313176056@qq.com]
分享 (0)
IT敢客
关于作者:
“我所做的一切都是为了方便我的生活~~~“
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(7)个小伙伴在吐槽
  1. 感觉挺麻烦,是一件不太轻松的事
    网上赚钱项目2018-09-06 18:31 回复 Windows XP | Firefox浏览器 52.0
    • IT敢客
      慎入,哈哈哈
      IT敢客2018-09-06 18:32 回复 Windows 10 | Chrome 68.0.3440.106
  2. 可以可以,很好的教程~虽然不是做系统运维的还是有必要了解测试一下这些工具。 :wink:
    云顶天的世界2018-07-16 17:13 回复 Windows 10 | Chrome 55.0.2883.87
    • IT敢客
      嘿嘿,欢迎常来关注,方便也可以加个友链!
      IT敢客2018-07-16 17:19 回复 Windows 10 | Chrome 61.0.3163.79
      • 加加加!我已经加好友链了,以后会经常来学习的~
        云顶天的世界2018-07-16 17:27 回复 Windows 10 | Chrome 55.0.2883.87
        • IT敢客
          我已经添加到首页的侧边栏友情链接了,请查看!以后常互相访问!
          IT敢客2018-07-16 17:33 回复 Windows 10 | Chrome 61.0.3163.79
          • 嗯嗯,一定常来~好多值得学习的东西。 :mrgreen:
            云顶天的世界2018-07-16 17:36 Windows 10 | Chrome 55.0.2883.87