Zabbix监控部署
监控内容:
cpu、内存、存储、服务的运行状态、进程数量、用户数、网络接口流量等
步骤:
一、部署LAMP/LNMP环境
二、安装Zabbix-server(192.168.4.21)
三、安装Zabbix-agentd(192.168.4.11)
一、部署LAMP/LNMP环境
systemctl stop firewalld
yum repolist
yum -y install httpd
systemctl start httpd
systemctl enable httpd
yum -y install mariadb-server mariadb mariadb-devel
systemctl start mariadb
systemctl enable mariadb
mysqladmin -hlocalhost -uroot password "123456"
mysql -uroot -p123456
yum -y install php php-mysql
systemctl restart httpd
vim /var/www/html/index.php
$x=mysql_connect("localhost","root","123456");
if($x){echo ok;}else{echo error;};
?>
二、安装Zabbix(192.168.4.21)
1,安装准备
rpm -q gcc gcc-c++
useradd zabbix
2,安装zabbix
tar xf zabbix-3.2.3.tar.gz
cd zabbix-3.2.3/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql
make install
3,做初始化配置
cp -r /soft/zabbix/zabbix-3.2.3/frontends/php /var/www/html/zabbix
mysql -uroot -p123456
create database zabbixdb;
grant all on zabbixdb.* to zabbix@localhost identified by "123456";
cd /soft/zabbix/zabbix-3.2.3/database/mysql/
mysql -uzabbix -p123456 zabbixdb < schema.sql 导入表结构
mysql -uzabbix -p123456 zabbixdb < images.sql 导入图像
mysql -uzabbix -p123456 zabbixdb < data.sql 导入数据
4,登陆解决错误
http://192.168.4.21/zabbix #解决错误项
vim /etc/php.ini
post_max_size = 16M POST数据最大容量
max_execution_time = 300 最大执行时间,秒
max_input_time = 300 服务器接受数据的时间限制
date.timezone = Asia/Shanghai 设置时区
memory_limit = 128M PHP内存占用的容量限制
yum -y install php-gd
yum -y install php-xml
rpm -ivh --nodeps php-bcmath-5.4.45-13.el7.remi.x86_64.rpm
rpm -ivh --nodeps php-mbstring-5.4.45-13.el7.remi.x86_64.rpm
systemctl restart httpd
chmod o+w /var/www/html/zabbix/conf
ls /var/www/html/zabbix/conf #初始化成功会生成以下文件zabbix.conf.php
默认用户:admin/zabbix
修改语言:
修改管理员登录密码:
查看监控模板:
查看监控信息:
4,修改zabbix_server配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbixdb 设置数据库名称
DBUser=zabbix 设置数据库账户
DBPassword=123456 设置数据库密码
LogFile=/var/log/zabbix/zabbix_server.log 设置日志(可以不修改)
5,启动服务
cp /soft/zabbix/zabbix-3.2.3/misc/init.d/fedora/core/zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_server
vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
chkconfig --add zabbix_server
chkconfig --list zabbix_server
systemctl start zabbix_server
systemctl enable zabbix_server
systemctl is-active zabbix_server
netstat -anptu | grep zabbix
netstat -anptu | grep 10051
cat /tmp/zabbix_server.log #错误日志
三、监控配置
A 监控远端主机(192.168.4.11)
1,配置被监控端 11
运行zabbix_agent服务
scp zabbix-3.2.3.tar.gz 192.168.4.11:/root
rpm -q gcc gcc-c++
useradd zabbix
tar xf zabbix-3.2.3.tar.gz
cd zabbix-3.2.3/
./configure --prefix=/usr/local/zabbix --enable-agent
make install
vim /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log 设置日志
Server=127.0.0.1, 192.168.4.21 设置监控服务器IP
ServerActive=192.168.4.21:10051 主动监控服务器IP
Hostname=abc 设置主机名
UnsafeUserParemeters=1 是否允许自定义key
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
chkconfig --add zabbix_agentd
systemctl start zabbix_agentd
systemctl enable zabbix_agentd
netstat -anptu | grep zabbix
netstat -anptu | grep 10050
2,配置监控端 21
登录管理页面,添加新主机
B 监控本机 21
运行zabbix_agent服务
vim /usr/local/zabbix/etc/zabbix_agentd.conf
ServerActive=127.0.0.1:10051
cp /soft/zabbix/zabbix-3.2.3/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
chkconfig --add zabbix_agentd
systemctl start zabbix_agentd
systemctl enable zabbix_agentd
netstat -anptu | grep zabbix
netstat -anptu | grep 10050
登录管理页面,配置->主机->Zabbix server->添加新模板
自定义监控模板
使用软件自定义命令定义监控项 17 httpd sshd
1 创建监控模版 amytmp(名称)
配置--》模版--》创建模版--》amytmp--》(群组)Templates--》添加
2 创建应用集 someser(名称)
配置--》模版--》anytmp的 应用集--》创建应用集--》someser--》添加
3 创建监控项(名称 命令) webrunning sshrunning
命令 命令
配置--》模版--》anytmp的 监控项--》创建监控项--》名字 (webrunning sshrunning)--》健值net.tcp.port[192.168.4.17,8080]--》--》应用集(someser)--》添加
4 监控主机时调用定义的模版
5 查看监控信息
自定义命令,自定义监控模板
1 配置被监控端17
1.1 启用自定义监控功能 zabbix_agentd.conf
1.2 自定义命名 (名称 命令:系统命令 shell脚本)
vim /usr/local/zabbix/etc/zabbix_agentd.conf
263 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
278 UnsafeUserParameters=1
vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/getuser.conf
Format: UserParameter=
UserParameter=get_sum_user,wc -l /etc/passwd | awk '{print $1}'
UserParameter=get_login_users,grep -c "/bin/bash" /etc/passwd
UserParameter=get_nologin_users,grep -v -c "/bin/bash" /etc/passwd
重起服务:systemctl restart zabbix_agentd
测试命令:/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -p(端口) 10050 -k(命令名) get_nologin_users
1.3 重起服务zabbix_agentd
1.4 测试配置
配置监控服务器21
测试17命令
测试命令:/usr/local/zabbix/bin/zabbix_get -s 192.168.4.17 -p 10050 -k get_nologin_users
1 创建监控模版 amytmp(名称)
配置--》模版--》创建模版--》amytmp--》(群组)Templates--》添加
2 创建应用集 someser(名称)
配置--》模版--》anytmp的 应用集--》创建应用集--》someser--》添加
3 创建监控项(名称 命令)
配置--》模版--》anytmp的 监控项--》创建监控项 (webrunning sshrunning)--》健值(选择:net.tcp.port[192.168.4.17,8080])--》应用集(someser)--》添加
4 在自定义应用集添加 新监控项(名字 命令)
配置--》模版--》anytmp的 监控项--》创建监控项 --》名字(sumuser)--》健值 (get_sum_user)--》应用集(someser)--》添加
配置--》模版--》anytmp的 监控项--》创建监控项 --》名字(loginusers)--》健值 (get_login_users)--》应用集(someser)--》添加
配置--》模版--》anytmp的 监控项--》创建监控项 --》名字(nologin_users)--》健值 (get_nologin_users)--》应用集(someser)--》添加
5 在监控主机时,调用定义的模版
6 查看监控项信息
监控报警
监控17时当系统的总用户数大于50个时发邮件给zabbix@localhost邮件帐号。
准备邮件服务器 localhost systemctl start postifixbr/>收件人:zabbix@localhost
发件人:root@localhost
1 创建触发器 名称--》 监控项名称
配置--》模版--》anytmp的 触发器--》创建触发器(名称,严重性,表达式 )—》添加
2 创建动作 名称--》 动作发邮件
配置--》动作--》创建动作--》操作--》邮件标题--》操作--》发送用户--》仅发送到Email--》添加--》添加
3 指定发件人
管理--》用户--》上一步发送的用户--》用户名--》--》更新
4 指定邮件服务器
5 测试
一:启动postifix
/etc/init.d/postfix start
/etc/init.d/postfix status
二:安装邮件发送工具mailx
yum -y install mailx
vim /etc/mail.rc
三:配置mail
[root@iZ250b91srrZ zabbix]# grep -v "^#" /etc/mail.rc |grep -v "^$"
set hold
set append
set ask
set crt
set dot
set keep
set emptybox
set indentprefix="> "
set quote
set sendcharsets=iso-8859-1,utf-8
set [email protected]
set smtp=smtp.163.com:25
set [email protected]
set smtp-auth-password=xxx
set showname
set showto
set newmail=nopoll
set autocollapse
set markanswered
ignore received in-reply-to message-id references
ignore mime-version content-transfer-encoding
fwdretain subject date from to
set bsdcompat
测试邮件能否发送
echo "hello word" | mail -s 'xxx' [email protected]
编写邮件发送脚本sendmail.sh
cd /usr/local/zabbix/share/zabbix/alertscripts/ #进入zabbix默认存放脚本路径
vim sendmail.sh #编写发送邮件脚本
#!/bin/bash
messages=echo $3 | tr '\r\n' '\n'
subject=echo $2 | tr '\r\n' '\n'
echo "${messages}" | mail -s "${subject}" $1 >>/tmp/sendmail.log 2>&1
zabbix分布式:
zabbix agent 自动注册
zabbix server 自动发现
zabbix Api
zabbix主动模式:
grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0 #关闭被动模式,开启主动模式
ServerActive=192.168.43.118
Hostname=Zabbix agent
Include=/etc/zabbix/zabbix_agentd.d/*.conf
systemctl restart zabbix-agent
netstat -lantpu |grep 10050 #没有10050端口
#模板类型为zabbix客户端(主动模式)
安装zabbix-proxy #减轻zabbix-server的负载
yum -y install zabbix-proxy zabbix-proxy-mysql mysql-server
rpm -ql zabbix-proxy
rpm -ql zabbix-proxy-mysql
cd /usr/share/doc/zabbix-proxy-mysql-4.0.1/
gzip -d schema.sql.gz
systemctl restart mysqld
cat /var/log/mysqld.log |grep password
mysql>SET PASSWORD = PASSWORD('MyNewPass4!');
mysql -u root -pMyNewPass4!
mysql>create database zabbix_proxy character set utf8;
mysql> grant all on zabbix_proxy.* to zabbixproxy@localhost identified by 'ZabbixProxy123!';
mysql> use zabbix_proxy;
mysql> source /usr/share/doc/zabbix-proxy-mysql-4.0.1/schema.sql;
grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
ProxyMode=0 #开启主动模式
Server=192.168.43.118 #zabbix-server的IP地址
Hostname=proxy-node1 #proxy名称
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix_proxy #数据库名
DBUser=zabbixproxy #数据库授权对象
DBPassword=ZabbixProxy123! #数据库密码
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
systemctl restart zabbix-proxy
systemctl enable zabbix-proxy
#配置web
管理--》agent代理程序--》创建——》主动--》ip--》添加
客户端:
grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=192.168.43.71 #zabbix-proxy的ip地址
Hostname=Zabbix agent
Include=/etc/zabbix/zabbix_agentd.d/*.conf
systemctl restart zabbix-agent
创建主机:最下面选择agent代理
自动添加:
grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=192.168.43.71
Hostname=Zabbix agent
HostMetadataItem=system.uname #自己添加linux模板
Include=/etc/zabbix/zabbix_agentd.d/*.conf
systemctl restart zabbix-agent
#配置web
配置--》动作--》事件源(自动注册)--》创建动作
自动发现:
aip自动发现: