zabbix监控软件

目录

概念

部署

数据流向

安装步骤

1.服务端

2.客户端

怎么看图形化工具

自定义监控内容

实验:监控登录当前系统的不能超过3个

报警

脚本的监控格式:命令行

发邮件

实验:监控脚本和nginx服务

自动注册

代理服务器添加主机(分布式监控)

设置zabbix-snmp监控

实验操作

总结


概念

自带图形化界面,通过网页就可以监控所有的服务器的状态。

功能:事件警告,邮箱通知

zabbix是通过web界面提供的分布式监控以及网络监控功能的开源的企业级的软件解决方案。

分布式:服务端、监控端

zabbix可以提供各种类型的监控模版,保证服务器的正常运行,灵活的通知机制可以让管理员快速定位。

zabbix的组成

1.zabbix-server,在server上可选安装zabbix-agent

2.收集数据的模式c/s模式(client/server)即客户端到服务器

   展示数据和配置数据的模式 b/s 模式 (browes/server)页面配置

zabbix-server 服务端 :收集数据,提供网页和配置数据

zabbix-agent  客户端 :把收集到的数据发到服务端

zabbix的五大组件:

1.zabbix-server

2.zabbix-agent

3.zabbix_proxy 代理  

   代理服务器的作用:如果所有的客户端都向服务端一起发数据,服务端的压力会比较大。此时发送到代理服务器,代理服务器处理完之后再发给server,减轻主服务器的压力

4.zabbix-get  是zabbix的命令行工具

5.zabbix sender 发送器:可以将客户端的数据进行自定义操作之后再发送到服务端,也可以通过脚本,把脚本处理数据发送到客户端。

部署

zabbix 5.0

数据流向

安装步骤

(前期:没有安装mysqld)

1.服务端

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm

cd /etc/yum.repos.d/

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo

yum clean all && yum makecache

yum install -y zabbix-server-mysql zabbix-agent

vim CentOS-SCLo-scl-rh.repo

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

yum clean all && yum makecache

vim zabbix.repo

yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl

yum install -y mariadb-server mariadb 

systemctl restart mariadb.service 

mysql_secure_installation 

然后一路 Y 就行了

mysql -u root -p123456

CREATE DATABASE zabbix character set utf8 collate utf8_bin;

GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';

flush privileges;
然后exit退出数据库

rpm -ql zabbix-server-mysql

zcat /usr/share/doc/zabbix-server-mysql-5.0.42/create.sql.gz | mysql -uroot -p123456 zabbix

复制这个,注意每个版本不一样

vim /etc/zabbix/zabbix_server.conf 

124行取消注释并设置密码zabbix

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
跳到最后一行

systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm

systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm

浏览器访问:http://192.168.233.11/zabbix

密码是 zabbix

密码是 zabbix

修改中文

就能看到当前监控

vim /etc/zabbix/zabbix_agentd.conf

systemctl restart zabbix-agent.service

安装解决乱码的工具

yum install -y wqy-microhei-fonts


\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

2.客户端

安装ntpdate(所有设备都要安装) 

yum -y install ntpdate -y

ntpdate ntp.aliyun.com

然后查看时间是否一致

设置 zabbix 的下载源,安装 zabbix-agent2
rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

yum clean all && yum makecache

yum install -y zabbix-agent2

vim /etc/zabbix/zabbix_agent2.conf

指定 zabbix 服务端的 IP 地址

指定 zabbix 服务端的 IP 地址

指定当前 zabbix 客户端的主机名

systemctl start zabbix-agent2
systemctl enable zabbix-agent2

netstat -natp | grep zabbix
 

在服务端验证 zabbix-agent2 的连通性

yum install -y zabbix-get               安装 zabbix 主动获取数据的命令

zabbix_get -s '192.168.233.12' -p 10050 -k 'agent.ping'

1表示连通

zabbix_get -s '192.168.233.12' -p 10050 -k 'system.hostname'  获取主机名称

回到浏览器

此时就已全部完成

怎么看图形化工具

ZBX:zabbix的缩写,默认模式,监控网络和设备,服务。大部分情况都是默认模式

SNMP:简单网络管理协议,用来管理和监控网络设备的协议

JMX:专门监控java程序的

IPMI:管理服务器硬件,服务器的电池、温度、风扇速度等等

自定义监控内容

实验:监控登录当前系统的不能超过3个

报警

查看路径

vim /etc/zabbix/zabbix_agent2.conf

脚本的监控格式:命令行

在客户端

cd /etc/zabbix/zabbix_agent2.d/

vim user_login.conf

UserParameter=login.user,who | wc -l

systemctl restart zabbix-agent2.service

回到服务器

zabbix_get -s '192.168.233.12' -p 10050 -k 'login.user'

然后回到浏览器

添加模版

添加应用集

添加监控项

键值/钥匙  就是 刚刚脚本定义的“UserParameter=login.user”

可以测试一下

添加触发器

添加图形

监控项点击添加

把客户机与服务器进行关联

结果

发邮件

这里的密码需要授权码

授权码步骤:

到qq邮箱官网,点击设置,然后点击账号。点击管理服务

把授权码复制好了,再点击消息模版,点击添加,添加好了再回到报警媒介类型点击添加

用户设置

然后点击更新

触发器动作

然后点击那个动作

实验:监控脚本和nginx服务

在客户端

vim /usr/local/nginx/conf/nginx.conf

(我这个是编译安装的,epel源安装的路径在/etc/nginx/nginx.conf)

在server模块下写一个location

nginx -t

systemctl restart nginx

cd /opt/

写一个统计nginx状态的监控脚本

vim test-nginx.sh

#!/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts
 
HOST="localhost"
PORT=80
stub_status="stub_status"
NGINX_COMMAND=$1
 
nginx_check() {
    if [ -f /sbin/pidof ]; then
       /sbin/pidof nginx | wc -w
    else
       ps aux | grep -v "grep" | grep -c "nginx:"
    fi
}
 
nginx_active(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Active/ {print $NF}'
}
 
nginx_reading(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Reading/ {print $2}'
}
 
nginx_writing(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Writing/ {print $4}'
}
 
nginx_waiting(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Waiting/ {print $6}'
}
 
nginx_accepts(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $1}'
}
 
nginx_handled(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $2}'
}
 
nginx_requests(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $3}'
}
 
case $NGINX_COMMAND in
    check)
        nginx_check
        ;;
    active)
        nginx_active
        ;;
    reading)
        nginx_reading
        ;;
    writing)
        nginx_writing
        ;;
    waiting)
        nginx_waiting
        ;;
    accepts)
        nginx_accepts
        ;;
    handled)
        nginx_handled
        ;;
    requests)
        nginx_requests
        ;;
    *)
        echo $"USAGE:$0 {check|active|reading|writing|waiting|accepts|handled|requests}"
esac

chmod 777 test-nginx.sh

cd /etc/zabbix/zabbix_agent2.d/

vim nginx_test.conf

UserParameter=nginx.status[*],/opt/test-nginx.sh $1

systemctl restart zabbix-agent2.service

在服务端测试一下

zabbix_get -s '192.168.233.12' -p 10050 -k 'nginx.status[check]'

回到浏览器

配置——模版——创建模版

点击应用集——创建应用集

点击监控项——创建监控项

点击触发器——创建触发器

表达式——添加

图形——创建图形

配置——主机——客户机

发邮件

只需要在动作里面添加触发器

自动注册

(客户端跟上面配置一样)

配置——自动发现——创建发现规则

回到客户端

vim /etc/zabbix/zabbix_agent2.conf

144行取消注释

cd /etc/yum.repos.d/

systemctl restart zabbix-agent2.service  (重启命令一定要在/etc/yum.repos.d/目录下

重启服务端 systemctl restart zabbix-server.service

然后查看服务端的日志  tail -f /var/log/zabbix/zabbix_server.log

出现这个就表示OK了,如果报错cannot 就一直重启多重启几次就好了

代理服务器添加主机(分布式监控)

数据流向图

代理服务器

rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

cd /etc/yum.repos.d
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

yum clean all && yum makecache

yum -y install zabbix-proxy-mysql zabbix-get

yum -y install mariadb-server.x86_64 mariadb

systemctl restart mariadb.service

mysql_secure_installation

mysql -u root -p123456

CREATE DATABASE zabbix_proxy character set utf8 collate utf8_bin;

GRANT all ON zabbix_proxy.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';

flush privileges;

exit

rpm -ql zabbix-proxy-mysql

zcat /usr/share/doc/zabbix-proxy-mysql-5.0.42/schema.sql.gz | mysql -u root -p123456 zabbix_proxy

vim /etc/zabbix/zabbix_proxy.conf

指定到服务器

必须和主机名一致

systemctl restart zabbix-proxy.service

注意(这里服务端、客户端、代理都要做主机名映射)

回到浏览器

管理——agent代理程序——创建代理

注:这里的代理名称必须是代理服务器的主机名;地址必须是代理服务器的地址

回到客户端(注:这里的客户端没有监控,有的话把之前的删了)

vim /etc/zabbix/zabbix_agent2.conf

把地址指向代理地址

systemctl restart zabbix-agent2.service

回到浏览器

配置——主机——创建主机

这个主机名必须跟客户端一致

回到服务端查看服务端的日志  tail -f /var/log/zabbix/zabbix_server.log

回到代理服务器 查看日志  tail -f /var/log/zabbix/zabbix_proxy.log

设置zabbix-snmp监控

snmp 简单网络管理协议 用来监控网络设备的,可以监控交换机、路由器

zabbix可以监控的设备:交换机、路由器、服务器、打印机

zabbix的性能监控:监控网络设备的cpu、带宽利用率、内存

zabbix可以监控告警

实验操作

在服务端

yum -y install net-snmp net-snmp-utils

vim /etc/snmp/snmpd.conf

systemctl restart snmpd

回到浏览器

配置——主机——找到服务器——点击服务器

接口点击添加——点击更新

点击模版——把之前的模版删除——添加一个新的

变成snmp就好了

总结

脚本是在客户端

脚本的位置:在vim /etc/zabbix/zabbix_agent2.conf这个文件里面

语法格式:

  • 42
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值