文章目录
一、Zabbix是什么?
Zabbix是一个企业级解决方案,支持实时监控数千台服务器,虚拟机和网络设备,采集百万级监控指标。
Zabbix完全开源免费。
运维体系
二、Zabbix5.0安装
https://www.zabbix.com/documentation/5.0/zh/manual
1.安装Zabbix服务
https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&db=mysql&ws=apache
1.准备机器,环境初始化
# ifconfig
# ifconfig ens192|awk 'NR==2 {print $2}'
2.关闭防火墙SELinux
Redhat使用了SELinux来增强安全,关闭的办法为:
永久有效
修改 /etc/selinux/config 文件中的 SELINUX="" 为 disabled ,然后重启。
即时生效
# setenforce 0
查看状态
# getenforce
3.获取zabbix的下载源
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
4.更换zabbix.repo源,为阿里
send -i 's#http://repo.zabbix.com/#http://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
5.清空缓存,下载zabbix服务器
# yum clean all
# yum makecache
# yum install zabbix-server-mysql zabbix-agent
6.安装工具,可以在机器上使用多个版本的软件,并且不会影响到整个系统的依赖环境
# yum install centos-release-scl
7.编辑配置文件 /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1 # 开启这里的参数
...
8.安装zabbix前端环境,且安装到sci环境下。 /opt/rh
# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl (apache)
# yum install zabbix-web-mysql-scl zabbix-nginx-conf-scl
9.安装zabbix所需的数据库,mariadb
# yum install mariadb-server -y
配置数据库 设置开机自启
# systemctl enable --now mariadb
# systemctl status mariadb.service
# netstat -ntlp
# mysql_secure_installation
# mysql -uroot -p
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by 'password';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;
导入初始架构和数据
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
为Zabbix server配置数据库 编辑配置文件
/etc/zabbix/zabbix_server.conf
DBPassword=password
# grep '^DB' /etc/zabbix/zabbix_server.conf
10.修改zabbix的php配置文件
编辑配置文件 /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
# listen 80;
# server_name example.com;
编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/shanghai
listen.acl_users = apache,nginx(可不修改)
11.启动Zabbix server和agent进程,并为它们设置开机自启:
(apache)
# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
(nginx)
# systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
11.配置Zabbix前端
连接到新安装的Zabbix前端: http://server_ip_or_name/zabbix (apache)
http://10.37.6.48/zabbix/
安装成功后 默认账号密码
Admin/zabbix
2.部署Zabbix客户端
Zabbix agent 2 为新一代zabbix agent,未来可能会替代原Zabbix agent
降低TCP连接数 具有更大的检查并发性 易于通过插件进行扩展.
插件可以是: 仅由几行简单代码实现的简单检查
由长时间运行的脚本及数据周期回传的独立数据采集的复杂检查 可以替代原有的Zabbix agent(可以兼容原Zabbix
agent的所有功能)
Agent 2是用Go语言开发的(复用了原Zabbix Agent的部分C代码)。
Zabbix agent2需要在1.13+版本的Go环境编译
linux 时间设置
自动校准
# yum install ntpdate -y
# ntpdate -u ntp.aliyun.com
ntpdate -u cn.pool.ntp.org
时区
mv xxxx{,.bak}等同于mv xxxx xxxx.bak
# mv /etc/localtime{,.bak}
# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同步系统时间到硬件时钟
# hwclock --systohc
# hwclock -w
提前配置好zabbix的下载源 agent2配置
# 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 install zabbix-agent2
查看配置
# vim /etc/zabbix/zabbix_agent2.conf
# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
# cat /var/run/zabbix/zabbix_agent2.pid
启动命令
# ls -l /usr/sbin/zabbix_agent2
# systemctl enable --now zabbix-agent2
# netstat -ntlp
修改agent2配置文件,查看配置信息,修改Server ,Hostname
Server=10.37.6.48
ServerActive=10.37.6.48
Hostname=Zabbix10.37.6.53
重启zabbix2
# systemctl restart zabbix-agent2
验证zabbix-agent2的联通性
1.在服务端上通过命令,主动获取数据
# yum install zabbix-get -y
2.命令检测服务端是否连接上客户端
# zabbix_get -s '10.37.6.53' -p 10050 -k 'system.hostname'
解决zabbix-server 查看的乱码问题
# yum install wqy-microhei-fonts -y
# \cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
三、zabbix 简单配置
3.1 添加客户端zaabix-agent 主机
稍微等待会,小图标会变绿,zabbix 即正确的监控
3.2 自定义添加key
限制登录人数不超过三个,超过三个报警
1、明确需要执行的linux 命令
who
who |wc -l #显示登录人数
2、手动创建zabbix的配置文件,用于自定义key
zabbix_agent2.conf #主配置文件
zabbix_agent2.d #扩展目录
在主配置文件中找到关于key 的语法。
#vim /etc/zabbix/zabbix_agentd.conf
#重启服务
# systemctl restart zabbix-agent2
服务端测试
3.2 自定义监控项模板
创建模板
创建应用集(好比一个文件夹,里面放入一堆监控项)
创建监控项,自定义item,你具体想监控的内容
创建触发器,当监控项获取到值的时候,进行和触发器比较,判断,决定是否报警
创建图形 将具体的主机和该模板连接,关联。
右上角 ”创建应用集
创建监控项,自定义item,你具体想监控的内容
创建触发器,当监控项获取到值额时候,进行和触发器比较,判断,决定是否报警
创建图形
将具体的主机改模板链接关联。
验证