ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

zabbix5.0监控安全配置全过程

2022-01-05 18:07:18  阅读:231  来源: 互联网

标签:grep zabbix5.0 server etc zabbix yum 全过程 监控 mysql


第一部分,安装

此安装配置为yum方式安装zabbix5.0

系统版本:CentOS Linux release 7.5.1804 (Core) 

zabbix版本:rpm -qa | grep zabbix

[root@es3 script]# rpm -qa | grep zabbix
zabbix-web-5.0.19-1.el7.noarch
zabbix-web-deps-scl-5.0.19-1.el7.noarch
zabbix-agent-5.0.19-1.el7.x86_64
zabbix-release-5.0-1.el7.noarch
zabbix-server-mysql-5.0.19-1.el7.x86_64
zabbix-web-mysql-scl-5.0.19-1.el7.noarch
zabbix-apache-conf-scl-5.0.19-1.el7.noarch
zabbix-get-5.0.19-1.el7.x86_64

MySQL版本:5.7.32 glibc

安装:

zabbix 安装过程
1、安装配置zabbix专用yum源

rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum makecache fast

 

2、安装zabbix服务端组件

yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get

 

# 安装过程可能会报错,zabbix版本冲突,是因为epel源里也有zabbix,我的做法是将epel源先改名。
Transaction check error:
file /usr/bin/zabbix_get conflicts between attempted installs of zabbix-get-5.0.19-1.el7.x86_64 and zabbix40-4.0.36-1.el7.x86_64
file /usr/share/man/man1/zabbix_get.1.gz conflicts between attempted installs of zabbix-get-5.0.19-1.el7.x86_64 and zabbix40-4.0.36-1.el7.x86_64

Error Summary

cd /etc/yum.repos.d/
mv epel.repo epel-bak

然后再安装

yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get

 

3、安装zabbix前端组件

yum -y install centos-release-scl

 


编辑配置文件 /etc/yum.repos.d/zabbix.repo,找到下图所示字段,并设置为1(1-启用;0-不启用)启
用前端,保存并退出文件

vi /etc/yum.repos.d/zabbix.repo

[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591

[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1

[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1

 

4、安装zabbix前端页面、初始数据库、PHP及httpd组件

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

 

三、安装并配置MySQL数据库(我用的二进制方式安装mysql)
1、安装yum源

rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

 

2、安装MySQL数据库组件。

yum -y install yum-utils
yum-config-manager --disable mysql80-community
yum-config-manager --enable mysql57-community
yum install mysql-community-server -y

 

# 二进制安装MySQL

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
tar zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz -C /data/server/
cd /data/server/

mv mysql-5.7.32-linux-glibc2.12-x86_64/ mysql-57
cd mysql-57

bin/mysqld --initialize --user=mysql --basedir=/data/server/mysql-57 --datadir=/data/server/mysql-57/data
#这一步需记住打印的临时密码
cp support-files/mysql.server /etc/init.d/mysqld-57 -r
vim /data/server/mysql-57/my.cnf

[mysqld]

datadir=/data/server/mysql-57/data
basedir=/data/server/mysql-57
user=mysql
socket=/data/server/mysql-57/var/mysql.sock
## Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
## instructions in http://fedoraproject.org/wiki/Systemd
#[mysqld_safe]
log-error=/data/server/mysql-57/var/log/mysql/mysql.log
pid-file=/data/server/mysql-57/var/run/mysql/mysql.pid
[client]
port=3306
socket=/data/server/mysql-57/var/mysql.sock

 

3、启动

/etc/init.d/mysqld-57 restart

 

4、登录
根据提示输入临时密码,登录数据库
5、修改密码,授权
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; //单引号内为需要设置的
MySQL超级管理员root密码,自行设置即可
create database zabbix character set utf8 collate utf8_bin; //创建zabbix数据

create user zabbix@localhost identified by 'Zabbix'; //创建zabbix数据库用户,并设置密码(单引号内修改为自己设置的密码)
grant all privileges on zabbix.* to zabbix@localhost; //设置zabbix用户对zabbix数据库具有本地管理权限
quit

6、导入zabbix初始数据库
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p'Zabbix' zabbix
四、zabbix配置初始化
1、配置数据库连接信息
编辑配置文件 /etc/zabbix/zabbix_server.conf,找到以下字段,去掉前面的#号,填入正确的zabbix数
据库连接信息,保存并退出文件

LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

 

2、配置时区信息
ll /usr/share/zoneinfo/Asia/Shanghai
编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf,找到php_value[date.timezone] = 字段,去掉前面的分号,并填入对应时区
3、配置字体,避免前台监控图形中文乱码

yum -y install wqy-microhei-fonts
mv /usr/share/fonts/dejavu/DejaVuSans.ttf /usr/share/fonts/dejavu/DejaVuSans.ttf.bak
cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

 

4、启动zabbix相关服务并设置开机自启动

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

 


5、浏览器上访问前端,进行初始化安装
访问http://IP/zabbix,进入初始化安装界面

这一步结束后,初始化完成,并进入登录界面,默认用户名是Admin,密码是zabbix,登录后请及时修改密码

 

四、客户端安装及配置

1、安装

yum install zabbix-agent -y
cd /etc/zabbix/

2、配置

vim zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
DenyKey=system.run[*]
Server=172.16.5.53
ListenPort=10050
# StartAgents=3
#ServerActive=10.0.0.11
#Hostname=client
Include=/etc/zabbix/zabbix_agentd.d/*.conf

#UnsafeUserParameters=1
#UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh $1

 

3、启动

systemctl start zabbix-agent.service

 

4、进一步配置,加载自定义监控脚本

[root@es3 script]# cat /etc/zabbix/zabbix_agentd.d/check_jar_status.conf
UnsafeUserParameters=1
UserParameter=check_jar_status[*],/etc/zabbix/zabbix_agentd.d/scripts/check_jar_status.sh $1

 


[root@es3 script]# cat /etc/zabbix/zabbix_agentd.d/scripts/check_jar_status.sh

#/bin/bash
#zabbix键值传过来的第一个参数,jar包名
JARNAME=$1
#zhabbix键值传过来的第二个参数,端口号
#PORT=$2
#统计这个jar包进程的数量
#JARTSTATUS=`ps -ef |grep -v grep | grep "$JARNAME" | grep java |wc -l`
JARTSTATUS=$(ps aux | grep ${JARNAME} | grep -v grep | grep java | grep -v $0 | wc -l)
#ps aux | grep ${JARNAME}
#echo "==============1======================="
#ps aux | grep ${JARNAME} |grep -v grep | grep java | wc -l
#统计这个jar包监听端口的数量
#PORTSTATUS=`netstat -antlp |grep LISTEN | grep -w "$PORT" |grep -v grep |grep dddddd | wc -l`
#如果jar包数量和监听端口数量都是1,则返回1,不然返回0
#if [[ "$JARTSTATUS" -eq "1" && "$PORTSTATUS" -eq "1" ]];
if [[ "$JARTSTATUS" -eq "1" ]];
then
echo "1"
else
echo "0"
fi

至此安装完成,进入配置过程 。

 

 第二部分 配置

一、从邮箱开始

1、登录邮箱后台找到邮箱的授权码,用于配置zabbix报警邮箱,163邮箱方式是,设置-POP3/SMTP/IMAP,点进去后下边授权密码管理。加一下授权码,需复制下来保存,只显示一次。

Zabbix配置邮箱

 

 

 然后到管理-用户,点Admin用户

 

 

 

 

 

 

配置-动作,按优先级选择

 

 

 

 

 

 

 

 

 

 

 

 custom messege 部分:

{TRIGGER.STATUS}: {TRIGGER.NAME}
故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!
告警主机:{HOSTNAME1},IP地址:{HOST.CONN}
告警时间:{EVENT.DATE}--{EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

如需重复报警,上边的步骤里,把1-1改成1-3,就是同一事件报警3次,0表示无数次。

 

 

 

 

 

恢复操作:

 

 

 

 

{TRIGGER.STATUS}: {TRIGGER.NAME}
恢复:{TRIGGER.STATUS},服务器:{TRIGGER.NAME} 已经恢复!   
告警主机:{HOSTNAME1} ,IP地址:{HOST.CONN}
告警时间:{EVENT.DATE}---{EVENT.TIME}
恢复时间:{EVENT.DATE}---{EVENT.RECOVERY.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

 

二、自定义监控项,脚本监控。用到上边配置客户端时的配置文件。

1、建模板

 

 

 

 2、创建监控项

 

 

 

 

 

 

 

 3、建触发器

 

 

 

 可以通过上边的选择那里创建出来表达式

{java service active newpay-hktest:check_jar_status[1-java].last()}=0

 

最后将要建的模板加入相应的主机。

方法:

 

加入后:

 

 

 

 

 

三、web监控及tcp监控

1、web监控

点主机,之后点想要建web页面监控的主机

 

 

 

 然后同一页面,点步骤

 

 

 

 

 我的是http:172.16.5.53:90

 

下一步创建模板,用于报警

 

 

 

 触发器

 

 

 

 

 这里边选择完主机会出现刚才的web场景的选项

 

 

 

 

 然后把模板应用于主机

 

 

 

 

 至此完成web页面状态码监控,注意这里只能监测到返回200以外的错误,像网页文件打不开这种404等之类的,而nginx挂了的超时并不会报错。可以用前边的进程监控,也可以利用nginx状态模块监控,也可以用下边的端口监控,当然nginx只监听一个端口时可以,多个端口建议用进程或状态模块。

2、端口监控

 

 

 

 

 点进去后创建监控项

 

 

 

 

 

我这里是172.16.5.53:90

 

 

 

 接着点,触发器,创建触发器。

 

 

 

 

 至此完成。

标签:grep,zabbix5.0,server,etc,zabbix,yum,全过程,监控,mysql
来源: https://www.cnblogs.com/amhk/p/15768093.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有