zabbix 监控软件

zabbix 监控软件

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

时间告警,邮件通知。

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、zbbix-server:负责监控收集的数据

2、zabbix-agent:收集数据定期发送

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

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

5、zabbix sender 发送器,可以将客户端的数据进行自定义操作之后在发送到服务端,

也可以通过脚本,把脚本处理过数据发送到客户端。

部署

zabbix 5.0

三台试验机

关防火墙 安全机制

获取下载源

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

修改源 将源换为阿里源

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

在这里插入图片描述

配置新的yum源

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 

将0改为1

在这里插入图片描述

安装动态库

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

安装保存数据的数据库

yum install -y mariadb-server mariadb

在这里插入图片描述

systemctl restart mariadb.service

mysql_secure_installation

初始化数据库密码 123456

在这里插入图片描述

在这里插入图片描述

创建库用户密码

mysql -u root -p123456
CREATE DATABASE zabbix character set utf8 collate utf8_bin;

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

在这里插入图片描述

导入数据库

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 

在这里插入图片描述

修改密码

在这里插入图片描述

修改文件

vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 

在这里插入图片描述

修改时区

php_value[date.timezone] = Asia/Shanghai

在这里插入图片描述

重启服务和开机自启

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

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

在这里插入图片描述

117 163 :修改为本机ip

174 :修改为主机名

yum -y install zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

页面访问

ip+zabbix

在这里插入图片描述

这里的host是本机的IP地址

在这里插入图片描述

密码zabbix

在这里插入图片描述

改为中文展示

在这里插入图片描述

安装解决乱码的工具 并执行命令即可

yum install -y wqy-microhei-fonts

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

做一个服务端

时间同步

yum -y install ntpdate
ntpdate -u ntp.aliyun.com

客户端

配置安装源

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

sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
设置阿里源
 yum clean all && yum makecache 
 清空元数据
 yum -y install zabbix-agent2
 安装服务

在这里插入图片描述

修改客户端配置文件

vim /etc/zabbix/zabbix_agent2.conf 

在这里插入图片描述

80行

指向服务端

在这里插入图片描述

在这里插入图片描述

本机名

在这里插入图片描述

重启 开机自启

systemctl restart zabbix-agent2.service 
systemctl enable zabbix-agent2.service 

在这里插入图片描述

查看端口 10050

在这里插入图片描述

服务端安装

yum -y install zabbix-get
zabbix_get -s '20.0.0.14' -p 10050 -k 'agent.ping
zabbix_get -s '20.0.0.14' -p 10050 -k 'system.hostname'

为1 表示正常连接 为0 表示不通

获取主机名

在这里插入图片描述

服务端添加主机

创建主机

主机的ip地址

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

创建模版

在这里插入图片描述

在这里插入图片描述

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

SNMP:SNMP(Simple Network Management Protocol,简单网络管理协议)页面通常用于配置和管理SNMP设备或主机

JMX:专门监控java程序的

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

客户端配置

查看当前系统的登录人数设置不得超过三个超过三个则报警

在这里插入图片描述

配置文件

273

 vim /etc/zabbix/zabbix_agent2.conf 

在这里插入图片描述

297

监控脚本

在这里插入图片描述

脚本

脚本路径
cd /etc/zabbix/zabbix_agent2.d/
vim user_login.conf
UserParameter=login.user,who | wc -l
systemctl restart zabbix-agent2.service 

在这里插入图片描述

重启服务

在这里插入图片描述

在服务端验证

客户端多开

在这里插入图片描述

页面

创建模版

Template Login User

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

创建应用集

搜索一下就可以看到之间创建的内容

在这里插入图片描述

点开

Login User

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

创建监控项

名字:Number of login.users

键值是在脚本中的名字:login.user’

应用集选刚才创建的然后测试一下

在这里插入图片描述

在这里插入图片描述

测试

在这里插入图片描述

在这里插入图片描述

成功即可添加

创建触发器

Number of login.users is greater then 3

添加表达式

在这里插入图片描述

在这里插入图片描述

添加即可

在这里插入图片描述

图形

创建图行

在这里插入图片描述

Number of login users

在这里插入图片描述

和主机进行关联

在这里插入图片描述
在这里插入图片描述

这样即可

在这里插入图片描述

测试报警 说明添加成功

在这里插入图片描述

设置发送邮件

在这里插入图片描述

在这里插入图片描述

这里的密码需要去邮箱设置

在这里插入图片描述

在这里插入图片描述

进入qq邮箱设置

默认

在这里插入图片描述

这个授权码就是密码需要发送一条短信

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

用户设置

在这里插入图片描述

添加完要更新

在这里插入图片描述

动作

添加你要报警的动作

在这里插入图片描述

测试是否可以正常收到邮件

在这里插入图片描述

客户端安装nginx

修改nginx配置文件

yum -y install nginx

location /nginx_status {
                stub_status on;
                access_log off;
        }

在这里插入图片描述

重启

nginx -t

systemctl restart nginx.service 

在这里插入图片描述

添加脚本

vim test-nginx.sh

在opt目录下创建脚本
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

赋权

[root@test5 zabbix_agent2.d]# systemctl restart nginx.service 
[root@test5 zabbix_agent2.d]# cd /opt/
[root@test5 opt]# vim test-nginx.sh
[root@test5 opt]# chmod 777 test-nginx.sh 
[root@test5 opt]# cd /etc/zabbix/zabbix_agent2.d/
[root@test5 zabbix_agent2.d]# ls
user_login.conf
[root@test5 zabbix_agent2.d]# vim nginx_test.conf 
[root@test5 zabbix_agent2.d]# 

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

在这里插入图片描述
在这里插入图片描述

设置完后重启服务

服务端测试监控状态

客户端:systemctl restart zabbix-agent2.service 
服务端:[root@test4 yum.repos.d]# zabbix_get -s '20.0.0.14' -p 10050 -k 'nginx.status[check]'

在这里插入图片描述

回到页面服务新建模版

Template Nginx Status

在这里插入图片描述

然后创建一个应用集

Nginx status

在这里插入图片描述

创建监控项

名称:Nginx  is running
键值:nginx.status[check]

在这里插入图片描述

再测试一下 然后即可添加

在这里插入图片描述

然后创建触发器

Nginx is down

在这里插入图片描述

在这里插入图片描述

添加图形化界面

在这里插入图片描述

去主机创建模版

在这里插入图片描述

更新即可

查看即可看到添加监控的Nginx

在这里插入图片描述

把Nginx也添加到邮件服务中

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

更新即可

在这里插入图片描述

测试是否能收到邮箱

暂停Nginx服务

systemctl stop nginx.service 

在这里插入图片描述

在这里插入图片描述

可以收到 说明成功

重启服务即可

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值