Zabbix 监控结合 Grafana 绘图

52 篇文章 2 订阅
46 篇文章 0 订阅

环境:

 

主机

操作系统

ip 地址

主要软件

server.zabbix.com

Centos 7.4.1708 64 bit

192.168.100.101/24

Lamp 、

zabbix-3.4.2.tar.gz 、 grafana-4.6.1-1.x86_6 4.rpm、mailx、

agent.zabbix.com

Centos 6.5 64 bit

192.168.100.152/24

zabbix-3.4.2.tar.g 、

vsftpd

Win2k8dc1

Windows 2008 R2 64 bit

192.168.100.153/24

zabbix_agents_3.4.0. win

 

1.安装 zabbix server 服务端;

 

[root@server ~]# ip a ##配置网络,确保可以上网

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:4f:c9:00 brd ff:ff:ff:ff:ff:ff

inet 192.168.100.101/24 brd 192.168.100.255 scope global eth0 valid_lft forever preferred_lft forever

[root@server ~]# hostnamectl set-hostname server.zabbix.com

 [root@server ~]# vi /etc/hosts

192.168.100.101 server.zabbix.com

     192.168.100.152 agent.zabbix.com

     192.168.100.153 win2k8dc1 

:wq

[root@server ~]# yum -y install net-snmp net-snmp-devel libxml2 libxml2-devel libcurl-devel libevent libevent libevent-devel curl curl-devel mysql-devel snmp perl-DBI php-xml php-bcmath php-mbstring php-ldap php-xmlrpc httpd php php-mysql php-common php-gd php-odbc php-pear gcc* net-snmp libssh2 libssh2-devel mariadb-server mariadb mariadb-devel ntpdate

##安装 lamp 和依赖包,使用默认的 centos 7 中的默认 yun 

[root@server ~]# ntpdate ntp1.aliyun.com ##配置 ntp 同步阿里云公网时间服务器的时间, 避免因为 server 端和 agentd 端的时间不同而导致监控的数据出问题

[root@server ~]# systemctl start mariadb 

[root@server ~]# systemctl enable mariadb 

[root@server ~]# systemctl start httpd 

[root@server ~]# systemctl enable httpd 

[root@server ~]# mysqladmin -u root password 

123123

123123

[root@server ~]# wget -O zabbix-3.4.2.tar.gz http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.2/zabbix-3.4.2.tar.gz

/download ##下载软件包,上传也可

[root@server ~]# tar zxvf zabbix-3.4.2.tar.gz 

[root@server ~]# cd zabbix-3.4.2

[root@server ~]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6

--with-net-snmp --with-libcurl --with-libxml2 

[root@server ~]# make install

[root@server ~]# mysql -uroot -p123123 ##登陆数据库创建保存监控模板的数据库,并

导入数据模板,以及授权 zabbix 用户连接数据库;

create database if not exists zabbix default character set utf8 collate utf8_general_ci; 

use zabbix;

source /root/zabbix-3.4.2/database/mysql/schema.sql; 

source /root/zabbix-3.4.2/database/mysql/images.sql;

source /root/zabbix-3.4.2/database/mysql/data.sql;

grant all on zabbix.* to zabbix@'192.168.100.101' identified by 'zabbix'; 

flush privileges;

show grants for zabbix@'192.168.100.101'; 

exit

[root@server ~]# groupadd zabbix 

[root@server ~]# useradd -r -g zabbix zabbix 

[root@server ~]# cd /usr/local/

[root@server ~]# chown -R zabbix:zabbix zabbix/ 

[root@server ~]# cd /usr/local/zabbix/ 

[root@server ~]# mkdir logs

[root@server ~]# chown zabbix:zabbix logs/ 

[root@server ~]# vi etc/zabbix_server.conf

:%g/^#/d

:%g/^$/d 

LogFile=/usr/local/zabbix/logs/zabbix_server.log 

PidFile=/tmp/zabbix_server.pid 

DBHost=192.168.100.101

DBName=zabbix 

DBUser=zabbix 

DBPassword=zabbix

DBSocket=/var/lib/mysql/mysql.sock 

Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf

:wq

[root@server ~]# vi etc/zabbix_agentd.conf

:%g/^#/d

:%g/^$/d 

PidFile=/tmp/zabbix_agentd.pid 

Server=127.0.0.1,192.168.100.101

ServerActive=192.168.100.101 

Hostname=server.zabbix.com 

LogFile=/usr/local/zabbix/logs/zabbix_agentd.log 

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf

:wq

解释:

PidFile=/tmp/zabbix_agentd.pid ##运行的 PID 文件 

Server=127.0.0.1,192.168.100.101 ##输入 zabbix_server 主机的 ip 地址 

ServerActive=192.168.100.101 ##输入 agent 主机采集到数据发送到的 server 端 

Hostname=server.zabbix.com ##输入本机的主机名 

LogFile=/usr/local/zabbix/logs/zabbix_agentd.log ##指定日志文件

   Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf ##开启附加配置文件目录

 

[root@server~]# /usr/local/zabbix/sbin/zabbix_server 

[root@server  ~]# /usr/local/zabbix/sbin/zabbix_agentd

[root@server ~]# mv /root/zabbix-3.4.2/frontends/php/ /var/www/html/zabbix 

[root@server ~]# chown -R apache:apache /var/www/html/zabbix/ 

[root@server ~]# vi /etc/php.ini

878 date.timezone = Asia/Shanghai 

384 max_execution_time = 300

394 max_input_time = 300 

672 post_max_size = 32M 

405 memory_limit = 128M 

854 extension=bcmath.so

:wq

[root@server ~]# systemctl restart httpd

[root@server ~]# netstat -utpln |grep 10050 ##agentd 端程序 

[root@server ~]# netstat -utpln |grep 10051 ##server 端程序 

[root@server ~]# netstat -utpln |grep 80 ##httpd 服务程序

 

2.配置 zabbix 服务的 web 页面并做简单优化;

 

访问安装 http://192.168.100.101/zabbix/,默认用户名 admin        密码 zabbix

 

 

 

 

 

 

 

安装完成,设置显示字体为中文;

 

 

 

解决 zabbix 显示图像下边文字乱码情况:

上传字符集文件到此目录下;

 

3.实现监控 server.zabbix.com 端的 OS 以及 mysql、httpd;

 

 

 

 

勾选以下三个监控模板,点击选择按钮;

 

 

 

 

 

在上个界面会显示此主机的监控项,此主机的图形,可以自行跟据监控项进行创建图形;

 

 

选择监控项,点击选择;

 

 

 

查看监控主机的图形;

但是意外出现了,关于 Mysql 数据库的所有监控项没有图形,如图所示;

 

经过查看,问题如下图,监控 Mysql 服务器的键值不使用;

 

解决方案如下;

设置监控失效的键值,打开 zabbix_server 服务器,同时在此也是被监控端;

[root@server ~]# cd /usr/local/zabbix/etc/ 

[root@server etc]# vi zabbix_agentd.conf 

PidFile=/tmp/zabbix_agentd.pid 

Server=127.0.0.1,192.168.100.101

ServerActive=192.168.100.101 

Hostname=server.zabbix.com 

LogFile=/usr/local/zabbix/logs/zabbix_agentd.log 

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf 

UnsafeUserParameters=1 

UserParameter=mysql.version,mysql -V

UserParameter=mysql.status[*],/usr/local/zabbix/etc/chk_mysql.sh $1 

UserParameter=mysql.ping,mysqladmin -uroot -p123123 -P3306 -h192.168.100.101 ping | grep

-c alive

:wq

 

 

[root@server etc]# vi chk_mysql.sh //编写检查 mysql 状态的脚本,在脚本中指定 agent端的 mysql  的 ip 地址,连接的用户名密码等

#!/bin/bash
#
#  用户名
MYSQL_USER='root'

#  密码
MYSQL_PWD='123123'

# 主机地址/IP 
MYSQL_HOST='192.168.100.101'

#  端口
MYSQL_PORT='3306'

#  数据连接
MYSQL_CONN="/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}"
#  参数是否正确

if [ $# -ne "1" ]; then
	echo "arg error!"
fi

#  获取数据
case $1 in
	Uptime)
		result=`${MYSQL_CONN} status | cut -f2 -d":" | cut -f1 -d"T"`
		echo $result
		;;
	Com_update)
		result=`${MYSQL_CONN} extended-status | grep -w "Com_update" | cut -d"|" -f3`
		echo $result
		;;
	Slow_queries)
		result=`${MYSQL_CONN} status |cut -f5 -d":"|cut -f1 -d"O"`
		echo $result
		;;		
	Com_select)
		result=`${MYSQL_CONN} extended-status | grep -w "Com_select"|cut -d"|" -f3`
		echo $result
		;;	
	Com_rollback)
		result=`${MYSQL_CONN} extended-status |grep -w "Com_rollback"|cut -d"|" -f3`
		echo $result
		;;
	Questions)
		result=`${MYSQL_CONN} status|cut -f4 -d":"|cut -f1 -d"S"`
		echo $result
		;;
	Com_insert)
		result=`${MYSQL_CONN} extended-status |grep -w "Com_insert"|cut -d"|" -f3`
		echo $result
		;;	
	Com_delete)
		result=`${MYSQL_CONN} extended-status |grep -w "Com_delete"|cut -d"|" -f3`
		echo $result
		;;
	Com_commit)
		result=`${MYSQL_CONN} extended-status |grep -w "Com_commit"|cut -d"|" -f3`
		echo $result
		;;
	Bytes_sent)
		result=`${MYSQL_CONN} extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`
		echo $result
		;;
	Bytes_received)
		result=`${MYSQL_CONN} extended-status |grep -w "Bytes_received" |cut -d"|" -f3`
		echo $result
		;;
	Com_begin)
		result=`${MYSQL_CONN} extended-status |grep -w "Com_begin"|cut -d"|" -f3`
		echo $result
		;;
	*)
		echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_cegin)"
		;;
esac

[root@server etc]# chmod 777 /usr/local/zabbix/etc/chk_mysql.sh

[root@server etc]# mysql -uroot -p123123

grant all on *.* to 'root'@'localhost' identified by '123123'; flush privileges;

show grants for root@'localhost'; exit

[root@server etc]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/ //zabbix  的命令做软链接,检测 mysql 状态时会使用 zabbix_get 命令 

[root@server etc]# yum -y install psmisc 

[root@server etc]# killall -9 zabbix_server 

[root@server etc]# killall -9 zabbix_agentd

[root@server etc]# /usr/local/zabbix/sbin/zabbix_server 

[root@server etc]# /usr/local/zabbix/sbin/zabbix_agentd 

[root@server etc]# netstat -utpln

Active Internet connections (only servers)

Proto   Recv-Q   Send-Q   Local   Address Foreign  Address State

 

PID/Program name

tcp

0

0

0.0.0.0:3306

0.0.0.0:*

LISTEN

2701/mysqld

 

 

 

 

 

tcp

0

0

0.0.0.0:80

0.0.0.0:*

LISTEN

12300/httpd

 

 

 

 

 

tcp

0

0

0.0.0.0:22

0.0.0.0:*

LISTEN

835/sshd

 

 

 

 

 

tcp

0

0

127.0.0.1:25

0.0.0.0:*

LISTEN

1300/master

 

 

 

 

 

tcp

0

0

0.0.0.0:10050

0.0.0.0:*

LISTEN

12044/zabbix_agentd

tcp

0

0

0.0.0.0:10051

0.0.0.0:*

LISTEN

12039/zabbix_server

[root@server etc]# cd

[root@server ~]# zabbix_get -s 192.168.100.101 -k mysql.ping //在此可以通过 zabbix_get 命令进行获取服务器监控项的具体键值,mysql.ping 是在 zabbix_agentd.conf 配置文件中的键 值名称,通过此名称可以查看键值,通常能够获取到键值,获取监控数据就是没问题的;

1

[root@server ~]# zabbix_get -s 192.168.100.101 -k mysql.status[Com_update] 143

再次打开 zabbix  web 界面,验证 mysql 服务器的监控界面;

 

4.安装及配置 zabbix_agentd 代理端(FTP 服务器);

 

首先安装 zabbix_agentd 端的测试服务(ftp)并且确保网络通信;

[root@agent ~]# ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:a0:76:46 brd ff:ff:ff:ff:ff:ff

inet 192.168.100.152/24 brd 192.168.100.255 scope global eth0 inet6 fe80::20c:29ff:fea0:7646/64 scope link

valid_lft forever preferred_lft forever

 [root@agent ~]# vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=agent.zabbix.com

:wq

[root@lwh ~]# vi /etc/hosts 

192.168.100.101 server.zabbix.com

     192.168.100.152  agent.zabbix.com

     192.168.100.153  win2k8dc1

:wq

[root@agent ~]# reboot

[root@agent ~]# ping server.zabbix.com -c 4 

[root@agent ~]# yum -y install vsftpd 

[root@agent ~]# /etc/init.d/vsftpd start

其次开始配置 agent.zabbix.com 被监控端主机的 zabbix  agent 代理端;

[root@agent ~]# yum -y install libxml2-devel libcurl-devel pcre-devel ntpdate

 [root@agent ~]# ntp1.aliyun.com

[root@agent ~]# wget -O zabbix-3.4.2.tar.gz http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.2/zabbix-3.4.2.tar.gz

/download

[root@agent ~]# tar zxvf zabbix-3.4.2.tar.gz

[root@agent  zabbix-3.4.2]#  ./configure  --prefix=/usr/local/zabbix  --enable-agent  --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 

[root@agent zabbix-3.4.2]#make install

[root@agent zabbix-3.4.2]# cp misc/init.d/tru64/zabbix_agentd /etc/init.d/ 

[root@agent zabbix-3.4.2]# vi /etc/init.d/zabbix_agentd

24 DAEMON=/usr/local/zabbix/sbin/zabbix_agentd

:wq

[root@agent zabbix-3.4.2]# chmod +x /etc/init.d/zabbix_agentd 

[root@agent zabbix-3.4.2]# cd

[root@agent ~]# groupadd zabbix 

[root@agent ~]# useradd -r -g zabbix zabbix

[root@agent ~]# chown -R zabbix:zabbix /usr/local/zabbix/ 

[root@agent ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf

:%g/^$/d

:%g/^#/d 

LogFile=/tmp/zabbix_agentd.log 

Server=192.168.100.101

ServerActive=192.168.100.101 

Hostname=agent.zabbix.com

:wq

[root@agent ~]# /etc/init.d/zabbix_agentd start 

Zabbix agent started.

[root@agent ~]# netstat -utpln |grep zabbix

tcp 0 0  0.0.0.0:10050 0.0.0.0:* LISTEN

12481/zabbix_agentd

tcp 0 0  :::10050 :::* LISTEN

12481/zabbix_agentd

5.登录 zabbix  web 界面,进行添加 agent 主机,验证监

控效果;

 

 

 

 

 

 

 

 

添加 agent.zabbix.com 主机完成,默认的图形之后五个,无 ftp 服务图形,接下来手动添加ftp 服务图形显示;

 

 

 

 

 

 

 

 

 

6.配置监控 Win2k8dc1 主机,验证效果;

 

首先配置 windows2008 主机的网络;

 

 

其次用宿主机访问 zabbix 官网下载监控 windows2008 的插件;

 

下载完成,将下载后的插件复制到测试主机 win2k8dc1 中,进行配置;

 

 

 

 

 

 

 

 

 

 

C:\zabbix\bin\win64\zabbix_agentd.exe -c

C:\zabbix\conf\zabbix_agentd.win.conf -i ##安装 

C:\zabbix\bin\win64\zabbix_agentd.exe -c

C:\zabbix\conf\zabbix_agentd.win.conf -s ##启动 

C:\zabbix\bin\win64\zabbix_agentd.exe -c

C:\zabbix\conf\zabbix_agentd.win.conf -d ##删除 

windows 主机配置完成,下边在 web 界面,添加主机 win2k8dc1

 

 

 

 

 

 

 

 

添加完成,默认图形为 2 个,可以手动添加,在此不做过多说明,验证当前图形如下;

 

 

7.自定义监控项,创建项目、触发器、图形,验证监控效果;

以上关联的 Template OS Linux 模板基本涵盖了所有系统层面的监控,包括了我们最关注的几项:ping、load、cpu 使用率、memory、disk、网卡流量等等,当然有些触发器的阀值可 能需要根据服务器的自身情况进行修改。 下面添加自定义服务器内存使用检测项,在此配置一个监控项为:内存使用 70M 进行警告 提醒:

 1.修改客户端 zabbix_agentd.conf 配置文件,最后一行添加: UserParameter=memory_userd,free -m|grep Mem|awk '{print $3}' 语法:UserParameter=key,shell command

监控 key 值:memory_userd,key 值可以随意编写,但是一会需要在 web 页面创建监控项时

指定 key 值;

Shell 命令或脚本:free -m|grep Mem|awk '{print $3}'

注:在 zabbix_server 端可以使用 zabbix_get -s agent 端 ip 地址 -p 10050 -k key 名 通过此命令可以查看 agent 端 key 的监控值;

 

具体实现方式如下,更改 agent.zabbix.com 主机的配置文件来自定义监控项;

[root@agent ~]# vi /usr/local/zabbix/etc/zabbix_agentd.conf 

UserParameter=memory_userd,free -m|grep Mem|awk '{print $3}'

:wq

[root@agent ~]# /etc/init.d/zabbix_agentd restart

 

使用 server.agent.com 主机查看其监控项键值;

[root@server ~]# zabbix_get -s 192.168.100.152 -k memory_userd 338

 

使用 web 界面添加此监控项;

 

监控项添加完成后,创建触发器(根据条件进行触发某个告警操作);

 

 

 

 

 

 

 

触发器创建完成后,创建监控显示的图形;

 

打开首页,很明显的提示;

 

8.实现邮件报警;

首先配置 server.zabbix.com 端的邮件; 

[root@server ~]# yum -y install postfix mailx dos2unix 

[root@server ~]# mailx -V

[root@server ~]# vi /etc/mail.rc //在此文件末尾添加,指定接收邮件邮箱地址,指定邮

箱服务器地址,指定接收邮件邮箱地址的授权码,并非 163 邮箱的密码,而是授权码,登陆 163 网易邮箱地址后,--设置--开启 smtp 和 pop3--点击客户端生成授权码--使用此授权码进 行指定到此配置文件;

set from=。。。@163.com smtp=smtp.163.com

set smtp-auth-user=。。。@163.com smtp-auth-password=... 

set smtp-auth=login

:wq

[root@server ~]# echo "测试内容" |mail -s "测试标题" 。。。@163.com //     接收情况

[root@server ~]# vi  /usr/local/zabbix/etc/zabbix_server.conf //打开 server  端主配置文 件的脚本存放位置

AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

:wq

[root@server ~]# cd /usr/local/zabbix/share/zabbix/alertscripts

 

[root@server ~]# vi 2.sh // 编写报警邮件脚本,调整 mail   命令语法位置,使用 

dos2unix 命令转换字符,避免收到邮件不显示正常邮件内容而出现 ATT00001.bin 的错误;

#!/bin/bash

#export.UTF-8 

bt=$2

sjr=$1 

FILE=/tmp/mailtmp.txt 

echo "$3" >$FILE

/usr/bin/dos2unix -k $FILE

/bin/mail -s "$bt" "$sjr" <$FILE

:wq

 

[root@server ~]# chmod 777 2.sh 

[root@server ~]# chown zabbix:zabbix 2.sh 

[root@server ~]# touch /tmp/mailtmp.txt 

[root@server ~]# chmod 777 /tmp/mailtmp.txt

[root@server ~]# chown zabbix:zabbix /tmp/mailtmp.txt //注意文件以及报警脚本

的归属以及权限,注:脚本文件和存放邮件消息文件归属必须是 zabbix

[root@server ~]# ./2.sh 。。。@163.com "测试标题 2" "测试内容 2" // 测试脚本邮件 接收情况

配置 zabbix web 网站进行监控项的邮件报警,每一张图片后附带解释和注意事项,大体 步骤分为 监控--创建报警媒介类型--更新用户使用的报警媒介类型--创建动作(根据触发器 触发)--验证;

创建报警媒介类型:

 

输入创建的报警媒介类型的名称,指定类型为脚本的方式,并且输入 zabbix_server   /usr/local/zabbix/share/zabbix/alertscripts 目录下的脚本名称,确保脚本的归属是 zabbix 并且脚本的权限是 777,下边设置脚本参数,也就是发送邮件的语法:脚本 收件人 标题  容,必须严格按照此标准填写;

 

 

创建报警媒介类型成功后,进行确认;

 

配置 zabbix 中的用户所使用的报警媒介类型以及接收邮件的邮箱;

 

选择报警媒介类型为刚刚创建的类型,并且输入接收邮件的地址,指定报警时间和报警级 别;

 

 

 

创建动作,也就是发送邮件的动作;

 

 

输入动作名,动作名最好为英文,可以选择触发这个动作的条件(可以选择触发器=触发器 的名称或者选择触发器似触发器名称),作为条件,如若如图不选择触发器的条件,那么任 何消息都会提示到邮箱;

 

添加报警动作,一旦此触发器添加触发,添加报警邮件的标题和内容,默认操作步骤持续 时间(修改持续时间为 60  (一分钟发送一次邮件)),添加操作(添加接收邮件的用户);

默认接收人内容:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息内容: 告警主机:{HOSTNAME1}

告警时间:{EVENT.DATE} {EVENT.TIME}

告警等级:{TRIGGER.SEVERITY}

告警信息: {TRIGGER.NAME}

告警项目:{TRIGGER.KEY1}

问题详情:{ITEM.NAME}:{ITEM.VALUE}

当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}

事件 ID:{EVENT.ID}

 

 

添加操作(添加接收邮件的用户),步骤(指定邮件发送的次数),仅送到(选择创建的媒 介类型);

 

 

添加恢复操作(指故障恢复之后发送邮件的动作),具体步骤和添加操作相同;

确认动作创建的完成;

 

 

 

开始测试邮件报警

测试一:首先关闭 agent.zabbix.com 主机的 ftp 服务,测试邮件报警情况;

[root@agent ~]# /etc/init.d/vsftpd stop

关闭 vsftpd: [确定]

 

测试二:关闭 win2k8 主机,测试邮件报警情况;

 

 

 

 

9.安装并配置 Grafana;

 

[root@server ~]# wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.1-1.x86_64.rpm 

[root@server ~]# yum -y localinstall grafana-4.6.1-1.x86_64.rpm

[root@server ~]# grafana-cli plugins install alexanderzobnin-zabbix-app ##安装 zabbix  

[root@server ~]# mkdir -p /opt/grafana/data/plugins/

[root@server ~]# cp -r /var/lib/grafana/plugins/alexanderzobnin-zabbix-app/

/opt/grafana/data/plugins/

[root@server ~]# ls /opt/grafana/data/plugins/ alexanderzobnin-zabbix-app

[root@server ~]# chmod 777 /opt/grafana/data/plugins/ -R 

[root@server ~]# systemctl start grafana-server

访问测试 http://192.168.100.101:3000,默认用户名 admin,密码 admin,在此是谷歌浏览器

翻译过后的界面,大家可以自行下载谷歌浏览器,下载翻译插件,在此不做过多介绍; 安装 grafana

 

10.配置 Grafana 的 web 界面,呈现效果;

 

启用插件;

 

 

 

 

 

 

 

添加数据源;

 

 

 

 

 

 

 

 

创建仪表盘;

 

 

创建仪表盘时指定显示的图形;

 

 

 

输入图形名称;

 

 

选择数据源和图中需要显示的主机和主机的监控项;

 

 

创建完成,保存此仪表盘,输入仪表盘的名称;

 

 

 

验证创建的仪表盘;

 

 

 

在现有的 dashboard 中添加图形;

 

 

 

 

 

 

 

 

 

 

验证最终的仪表盘显示图形;

 

错误及解决方案:

错误一:监控 Mysql 数据库时,没有图形; 错误及解决方案:P/13-18

错误二:配置报警邮件时,邮箱收到的邮件为 ATT00001.bin 的内容; 错误及解决方案:P/38

邮箱收到邮件出现 ATT00001.bin 的内容:

原因:zabbix 无法将内容转义成中英文,需要借助 dos2unix 工具进行转换

 

10、zabbix-proxy的编译安装

zabbix proxy可以使用分布式监控。zabbix server 搭在杭州,上海、深圳(proxy)
 
1,zabbix proxy安装脚本
#!/bin/sh
yum install -y tar gcc make gcc-c++ mysql-devel net-snmp-devel libxml2-devel libcurl-devel pcre-devel
groupadd zabbix useradd -g zabbix -M -s /sbin/nologin zabbix
cd /usr/local/src/
wget 'https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.4.7/zabbix-3.4.7.tar.gz'
tar -zxvf zabbix-3.4.7.tar.gz
cd zabbix-3.4.7
./configure --prefix=/usr/local/zabbix --enable-proxy --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make
make install
 
 
2,查看下zabbix_proxy是否有安装成功
/usr/local/zabbix/sbin/zabbix_proxy -h
 
 
3,安装mysql,导入数据
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbix';
set names utf8;
use zabbix;
source /usr/local/src/zabbix-3.4.7/database/mysql/schema.sql;
 
 
4,把zabbix目录属主变成zabbix
chown zabbix:zabbix /usr/local/zabbix/ -R
 
 
5,zabbix_proxy的配置
ProxyMode=0
Server=192.168.0.200
Hostname=web
SourceIP=172.16.100.254
LogFile=/tmp/zabbix_proxy.log
DBHost=127.0.0.1
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
#DBport=3306
#ConfigFrequency=60 #配置更新间隔
ProxyLocalBuffer=720
HeartbeatFrequency=120
DataSenderFrequency=60
Timeout=4
LogSlowQueries=3000

 
  
 
6,启动zabbix_proxy
/usr/local/zabbix/sbin/zabbix_proxy
 
  
 
7,zabbix网页上添加proxy
管理 -> agent程序代理
观察最近出现的时间,没有超过60s就证明proxy添加正常
 
  
 
8,使用proxy分布式监控,agent上配置的是proxy的ip
PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/zabbix_agentd.log
Server=172.16.0.1  #proxy的ip
ServerActive=172.16.0.1 #proxy的ip
UnsafeUserParameters=1
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
Hostname=host_172.16.0.1
 
 
9,使用proxy去添加主机
10,
zabbix server  -->  zabbix proxy(上海proxy)  -> agent
zabbix server  -->  zabbix proxy(深圳proxy)  -> agent

########zabbix_server web配置#########

zabbix_proxy部署配置

zabbix_proxy部署配置

zabbix_proxy部署配置

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值