当前位置:文档之家› (彬)Zabbix监控安装部署

(彬)Zabbix监控安装部署

Zabbix 监控安装部署

Zabbix 监控安装部署 (1)

一、环境 (3)

二、安装 (3)

2.1、Zabbix_server服务端安装 (3)

2.2、创建zabbix数据库及zabbix连接mysql用户名 (3)

2.3、导入zabbix数据 (3)

2.4、复制zabbix_server启动服务 (4)

2.5、配置zabbix_server (4)

2.6、配置zabbix web程序 (4)

2.7、zabbix_server权限设置 (5)

2.8、启动zabbix_server服务 (5)

2.9、安装zabbix_server web服务 (5)

2.10、设置中文界面 (5)

2.11、解决监控图形乱码 (6)

2.12、Zabbix_agent客户端安装 (6)

2.13、复制zabbix_agent启动服务 (6)

2.14、配置zabbix_agent (6)

2.15、zabbix_agent权限设置 (7)

2.16、启动zabbix_agent 服务 (7)

三、监控配置 (8)

3.1、配置主机组 (8)

3.2、配置模板 (8)

3.3、配置主机 (8)

3.4、配置维护 (9)

3.5、配置应用集 (9)

3.6、配置项目 (10)

3.7、配置触发器 (11)

3.8、配置图形 (13)

四、监控实例 (14)

4.1、Ping监控 (14)

4.2、TCP端口监控 (16)

4.3、HTTP监控 (17)

4.4、MySQL主从监控 (18)

五、监控报警 (20)

5.1、创建用户组 (20)

5.2、创建用户 (21)

5.3、配置动作 (23)

5.4、邮件监控 (24)

5.5、短信监控 (26)

一、环境

Nginx+PHP+MySQL+Zabbix

环境安装略过

二、安装

Zabbix_server服务端

2.1、Zabbix_server服务端安装

# useradd zabbix

# wget https://www.doczj.com/doc/9712727890.html,/zabbix/zabbix-2.0.12.tar.gz

# tar zxvf zabbix-2.0.12.tar.gz

# cd zabbix-2.0.12

#./configure --prefix=/opt/zabbix \

--enable-server \

--enable-agent \ #如果服务端也是客户端需要加上此参数

--with-mysql \

--with-net-snmp \

--with-libcurl

#make

#make install

2.2、创建zabbix数据库及zabbix连接mysql用户名

#mysql>create database zabbix character utf8;

#mysql>grant all on zabbix.* to ‘zabbix’@’localhost’ identified by ‘zabbix’;

#flush privileges;

2.3、导入zabbix数据

#mysql -uzabbix -pzabbix zabbix < ./database/mysql/schema.sql

#mysql -uzabbix -pzabbix zabbix < ./database/mysql/images.sql

#mysql -uzabbix -pzabbix zabbix < ./database/mysql/data.sql

注:SQL导入有先后顺序,否则数据无法导入

2.4、复制zabbix_server启动服务

#cp misc/init.d/fedora/core/zabbix_* /etc/init.d/

#chmod 755 /etc/init.d/zabbix_*

#sed -i "s/BASEDIR=/usr/local#BASEDIR=/opt/zabbix/g" /etc/init.d/zabbix_server

#sed -i "s/BASEDIR=/usr/local#BASEDIR=/opt/zabbix/g" /etc/init.d/zabbix_agentd

2.5、配置zabbix_server

#cat /opt/zabbix/etc/zabbix_server.conf

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

ListenIP=127.0.0.1,192.168.100.100 #服务端监听IP

LogFile=/var/log/zabbix_server.log

AlertScriptsPath=/home/zabbix/sh #自定义脚本路径,用于邮箱报警和短信报警使用。

2.6、配置zabbix web程序

# cp -rf frontends/php /opt/web/zabbix

修改php连接mysql配置文件

#cat /opt/web/zabbix/conf/zabbix.conf.php

$DB["TYPE"] = 'MYSQL';

$DB["SERVER"] = 'localhost';

$DB["PORT"] = '3306';

$DB["DA TABASE"] = 'zabbix';

$DB["USER"] = 'zabbix';

$DB["PASSWORD"] = zabbix;

$ZBX_SERVER = 'localhost';

$ZBX_SERVER_PORT = '10051';

$ZBX_SERVER_NAME = '';

$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;

将nginx网站目录指向/opt/web/zabbix

Nginx文件zabbix.conf配置如下:

server {

listen 80;

server_name 192.168.100.100;

location / {

root /opt/web/zabbix;

index index.html index.php;

location ~ \.php($|\?) {

root /opt/web/zabbix;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /opt/web/zabbix$fastcgi_script_name;

include fastcgi_params;

}

}

access_log off;

}

2.7、zabbix_server权限设置

#chown zabbix:zabbix -R /opt/zabbix

#chown zabbix:zabbix /etc/init.d/zabbix_server

2.8、启动zabbix_server服务

#/etc/init.d/zabbix_server start

2.9、安装zabbix_server web服务

访问http://192.168.100.100

默认用户名:admin

默认密码:zabbix

2.10、设置中文界面

Zabbix 默认支持中文界面,登录后点击右上角Profile—User—Language,选择Chinese(zh_CN),点击Save保存。

2.11、解决监控图形乱码

Linux操作系统默认无中文字体,可将windows字体目录simhei.ttf字体,复制到zabbix程序字体目录/opt/web/zabbix/fonts/

修改程序/opt/web/zabbix/include/defines.inc.php

define('ZBX_GRAPH_FONT_NAME', 'simhei'); // font file name

将字体修改为simhei即可。

Zabbix_agent客户端

2.12、Zabbix_agent客户端安装

# useradd zabbix

# wget https://www.doczj.com/doc/9712727890.html,/zabbix/zabbix-2.0.12.tar.gz

# tar zxvf zabbix-2.0.12.tar.gz

# cd zabbix-2.0.12

# ./configure --prefix=/opt/zabbix \

--enable-agent \

--with-net-snmp \

--with-libcurl

#make

#make install

2.13、复制zabbix_agent启动服务

#cp misc/init.d/fedora/core/ zabbix_agentd /etc/init.d/

#chmod 755 /etc/init.d/zabbix_*

#sed -i "s/BASEDIR=/usr/local/BASEDIR=/opt/zabbix/g" /etc/init.d/zabbix_agentd

2.14、配置zabbix_agent

#cat /opt/zabbix/etc/zabbix_agentd.conf

Server=192.168.100.100 #zabbix_server服务端IP

ListenIP=192.168.100.101 # zabbix_agent客户端监听IP

ListenPort=10050 #zabbix_agent客户端监听端口

ServerActive=192.168.100.100:10051 #zabbix_server服务端IP和端口

Hostname=192.168.100.101 #zabbix_agent客户端主机名称UnsafeUserParameters=1 #自定义脚本开启(1开启、0关闭),自定义脚本监控时需要。

2.15、zabbix_agent权限设置

#chown zabbix:zabbix -R /opt/zabbix

#chown zabbix:zabbix /etc/init.d/zabbix_agentd 2.16、启动zabbix_agent 服务

# /etc/init.d/zabbix_agentd start

三、监控配置

3.1、配置主机组

配置—主机组—创建主机组,方便将主机分类,便于管理。

3.2、配置模板

配置—模板—创建模板,模板方便配置主机,可将主机关联相应模板。监控项目只需在模板里配置,关联的主机都会有该监控项目。

3.3、配置主机

配置—主机—创建主机,代理接口输入客户端IP 192.168.100.101 端口默认10050

如下图所示:

注:主机名称要与/opt/zabbix/etc/zabbix_agentd.conf 配置文件中的hostname相同。

配置—维护—创建维护时间段。可根据实际情况,将相关主机组/主机加入到维护时间段,在动作设置里,可将维护时间段设置为不报警。

3.5、配置应用集

配置—主机(在192.168.100.101)—应用集—创建应用集,方便将监控项目分类,如网络,TCP。

配置—主机(在192.168.100.101)—项目—创建项目

配置—主机(在192.168.100.101)—触发器—创建触发器

注:{https://www.doczj.com/doc/9712727890.html,}变量代表3.3中的可见的名称(zabbix_agent 客户端服务器) 严重性可根据实际情况进行选择。

创建MySQL主从触发器

通过Zabbix触发器正则表达式来匹配MySQL主从监控内容。如果匹配,则成功,否则失败如下图所示:

注: {192.168.100.101:custom.check.mysql.slave.iregexp(OK)}#1

使用正则表达式判断MySQL主从监控获取的值里是否匹配OK字符。1表成成功。否则判断失败。

3.8、配置图形

配置—主机(192.168.100.101)—图形—创建图形,选择要生成图形的监控项目

四、监控实例

4.1、Ping监控

由于zabbix自带ping监控功能少,不方便使用。使用fping工具进行ping监控。#wget https://www.doczj.com/doc/9712727890.html,/dist/fping-3.10.tar.gz

#tar zxvf fping-3.10.tar.gz

#cd fping-3.10

#./configure

#make

#make install

权限设置

#chown root:zabbix /usr/local/sbin/fping

#chmod 4710 /usr/local/sbin/fping

修改/opt/zabbix/etc/zabbix_server.conf文件,添加如下内容:

FpingLocation=/usr/local/sbin/fping

创建ping监控项目

配置—主机(192.168.100.101) —项目—创建项目

类型:简单监控

注: icmppingsec[,,,,,] target - 主机IP或者域名

packets - 包个数

interval - 包得响应时间,毫秒为单位

size - 包大小,字节为单位

timeout - 超时时间,毫秒为单位

mode - min, max, avg (默认值)

定自义倍数:1000,因为默认单位为毫秒,换自为ms微秒。

4.2、TCP端口监控

由于Zabbix自带TCP端口监控工具,不能返回端口影响时间和失败具体情况,因此使用check_tcp工具,这个工具是Nagios监控程序下的TCP监控工具,也可用在Zabbix监控上。

4.2.1、先将check_tcp工具上传到zabbix服务器/opt/zabbix/bin目录

编辑/opt/zabbix/etc/zabbix_agentd.conf配置程序,添加如下内容:

UserParameter=custom.tcp.port[*],/opt/zabbix/bin/check_tcp -H $1 -p $2

注: custom.tcp.port[*]为自定义名称,[*]表示能接收命令行后面的$1,$2参数

-H$1 IP地址或域名

-p$2监控端口

4.2.2、添加TCP 80端口监控项目

配置—主机(192.168.100.101) —项目—创建项目

注:custom.tcp.port为4.2.1定义的名称。

[183.60.110.219,80]分别是$1,$2参数,这里代表要监控的IP地址和监控的端口。

数据类型选择日志。

监控80端口获取到的值如下:

TCP OK - 0.012 second response time on port 80|time=0.012336s;;;0.000000;10.000000

4.3、HTTP监控

由于Zabbix自带HTTP端口监控工具,不能返回具体HTTP情况,因此使用check_http工具,这个工具是Nagios监控程序下的HTTP监控工具,也可用在Zabbix监控上。

4.3.1、先将check_http工具上传到zabbix服务器/opt/zabbix/bin目录

编辑/opt/zabbix/etc/zabbix_agentd.conf配置程序,添加如下内容:

UserParameter=custom.http.url[*],/opt/zabbix/bin/check_http -H $1 -I $2 -u $3 -p $4

注: custom.http.url[*]为自定义名称,[*]可接受命令行后面的参数。

-H $1 域名

-I $2 IP地址

-u $3 url路径

-p $4 端口

4.3.2、添加HTTP URL监控项目

配置—主机(192.168.100.101) —项目—创建项目

注:custom.http.url 为4.3.1定义的名称。

[https://www.doczj.com/doc/9712727890.html,,192.168.100.101,\/index.php,80] 分别代表域名、IP地址、URL路径、端口。数据类型选择日志。

监控URL地址获取到的值如下:

HTTP OK: HTTP/1.1 200 - 346 bytes in 0.001 second response time

4.4、MySQL主从监控

MySQL主从监控通自定义脚本配置Zabbix监控来实现

4.4.1、编辑/opt/zabbix/etc/zabbix_agentd.conf配置程序,添加如下内容:UserParameter=custom.check.mysql.slave,/opt/zabbix/bin/sh/check_mysql_slave.sh

注: custom.check.mysql.slave 为MySQL主从监控自定义名称

/opt/zabbix/bin/sh/check_mysql_slave.sh 为MySQL主从监控脚本

check_mysql_slave.sh内容如下:

#!/bin/sh

slave_info=($(/home/opt/mysql/bin/mysql -uroot -ppass -e "show slave status\G" | grep Running | awk '{print $2}')) error=($(/home/opt/mysql/bin/mysql -uroot -ppass -e "show slave status\G" | grep Last))

if [ "${slave_info[0]}" = "Yes" -a "${slave_info[1]}" = "Yes" ];then

echo "OK Mysql_Slave_is_Running...YES"

else

echo "Errors Mysql_Slave_is_Running...NO ${error[@]}"

fi

使用mysql用户执行show slave status,查询从数据库状态,判断主从同步是否成功。如果成功输出OK Mysql_Slave_is_Running...YES,如果失败输出Errors Mysql_Slave_is_Running...NO ${error[@]}

注: ${error[@]} 表示主从同步失败的描述。

4.4.2、添加Mysql主从监控项目

配置—主机(192.168.100.101) —项目—创建项目

注: custom.check.mysql.slave 为4.4.1中定义的名称数据类型选择日志

监控MySQL主从同步获取到的值如下:

OK Mysql_Slave_is_Running...YES

监控结果输入OK,说明MySQL主从同步成功。

五、监控报警

5.1、创建用户组

管理—用户—创建用户组

配置组权限

注:用户要加入用户组,权限在用户组中设置,设置用户组对服务器组有读写权限,可根据实际情况进行相应设置。如果用户组对服务器组无读权限,邮件报警,短信报警将不会生效。

相关主题
文本预览
相关文档 最新文档