服务端配置:
zabbix官网(有软件下载和安装步骤说明)
https://www.zabbix.com/cn/download
关selinux和防火墙
iptables -L 查看全部清空
建议给4G内存空间
获取zabbix下载镜像源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
更换zabbix.repo源为阿里的
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 zabbix-server-mysql zabbix-agent -y
解决同一台机器多版本软件安不冲突(例如python2和3等)
yum install centos-release-scl -y
修改yum源中的配置文件zabbix.repo文件中的zabbix-front前端源
[zabbix-frontend]
enabled=1 就把这个0改成1启用
安装zabbix前端环境
yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
安装数据库存(mysql或mariadb)
yum install mariadb-server -y
systemctl enable --now mariadb
初始化mariadb数据库(密码改为admin,可能要求复杂度)
mysql_secure_installation
进入数据库创建数据库给zabbix用
create database zabbix character set utf8 collate utf8_bin;
建立数据库访问用户和密码
create user zabbix@localhost identified by ‘admin’;
用户授权
grant all privileges on zabbix.* to zabbix@localhost;
flush privileges;
查看要导入的文件是不是存在
ls /usr/share/doc/zabbix-server-mysql*/create.sql.gz
导入zabbix表到数据库中
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
导完表后再进数据库本看是否全部导入
改zabbix配置文件中的数据库密码为刚才设置的数据库密码admin
vim /etc/zabbix/zabbix_server.conf
DBPassword=admin
改系统时区:
mv /etc/localtime{,.bak} #先备份一下
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
改php配置文件中的时区,并把那行前面的分号注释去掉
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
启动zabbix相关服务器
systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
然后打开ie输入IP+/zabbix进行下一步下一步初始化web安装
database:mysql
database host:localhost
database port:0
database name:zabbix
user:zabbix
password:admin
host:localhost
port:10051
Nmae:空
默认登录账号密码:
Admin
zabbix
修改默认字体,要不然图表上的字用中文后会乱码:
把windows系统上这个字体文件拷到zabbix服务器下的/usr/share/zabbix/assets/fonts/
c:\windows\fonts\simkai.ttf
simkai一定要全小写,不支持大写
打开这个文件改成simkai刚才复制过来的文件名
vim /usr/share/zabbix/include/defines.inc.php
define(‘ZBX_GRAPH_FONT_NAME’, ‘simkai’); // font file name
客户端配置 :
zabbix 5.0以后用agent2是golang语言开发,端口使用10050和以前的不一样
防火墙要放行10050的tcp和udp端口
selinux可以开不影响
时间更新(服务端也要执行一下)
yum install ntpdate -y
ntpdate -u ntp.aliyun.com
改系统时区:
mv /etc/localtime{,.bak} #先备份一下
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
获取zabbix下载镜像源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
更换zabbix.repo源为阿里的
sed -i ‘s#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#’ /etc/yum.repos.d/zabbix.repo
yum install zabbix-agent2 -y
zabbix-agent2配置文件修改:
vim /etc/zabbix/zabbix_agent2.conf
Server=服务端ip
ListenIP=0.0.0.0 #取消注释
ServerActive=服务端ip
Hostname=本机端口
启动命令:
/usr/sbin/zabbix_agent2
查看服务启动配置文件是怎么写的
cat /lib/systemd/system/zabbix-agent2.service
启动服务
systemctl enable --now zabbix-agent2
netstat 查看端口10050是否开放
centos8上面有个坑,会一直监听tcp6:10050,不会监听ipv4的10050,试过很多方法没用,
只能用最暴力的方法,内核修改禁用ipv6得到解决(风险很大,慎用):
- 在 CentOS 8 上使用内核引导选项禁用 IPv6
第一步是打开默认的 GRUB 配置文件,如图所示:
$ sudo vim /etc/default/grub
在文件末尾,附加以下行:
GRUB_CMDLINE_LINUX=“$GRUB_CMDLINE_LINUX ipv6.disable=1”
保存文件并退出。
为了使更改生效,我们需要更新 GRUB 配置文件。但首先,我们需要知道 GRUB 配置文件的位置。为此,请运行以下命令:
$ sudo ls -lh /etc/grub*.cfg
接下来,生成一个新的 GRUB 配置文件以将其保存到/boot/grub2/grub.cfg文件中。
$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg
此外,运行下一个命令来创建一个新的配置文件并将其保存到/boot/efi/EFI/centos/grub2.cfg文件
$ sudo grub2-mkconfig -o /boot/efi/EFI/centos/grub2.cfg
此后,使用以下命令重新启动系统:
$ sudo reboot
在服务端上安装连通测试工具
yum install zabbix-get -y
连通测试命令:(返回1和对客户端主机名就对了)
zabbix_get -s ‘客户端ip地址’ -p 10050 -k ‘agent.ping’
zabbix_get -s ‘客户端ip地址’ -p 10050 -k ‘system.hostname’
web上操作
主机添加:
如果是linux系统监控:
模版选择linux这个:
Template OS Linux by Zabbix agent
主机组选择:linux servers
代理无
自定义监控项
[root@controls zabbix_agent2.d]# cat diy_user_login.conf
UserParameter=login.user, who|wc -l
UserParameter=curr_login.user, users
#UserParameter开头必须这个英文,否者zabbix端口就起不来,所有的自定义开头都必须要这个英文
去服务端测试:
[root@sql-server ~]# zabbix_get -s ‘192.168.159.132’ -p 10050 -k ‘curr_login.user’
root
[root@sql-server ~]# zabbix_get -s ‘192.168.159.132’ -p 10050 -k ‘login.user’
1
这个建立的自定义模版,当在服务器web上创建模版时,监控项键值里面选择名称和这个 -k 后面引号一个都不能有错
web上面创建模版流程
新建模版—创建应用集—创建监控项—创建触发器—创建图形—将具体主机和该模版关联
在这里插入图片描述
最后关联应用 到主机上
设置邮件报警:
先设置发邮件的:
先邮件把pop3打开,授权码得到
先测试一下能否用这个建立的邮箱发出邮件
收邮件设置:
对应用监控:
对端口监控:
zabbix自带了很多常用的应用监控:mysql、http等
rsync监控:
key net.tcp.port[,873]
nfs监控:
net.tcp.port[,111]
showmount -e ip|wc -l
在服务器上可以测试web应用是否开启
zabbix_get -s ‘192.168.159.132’ -p 10050 -k ‘net.tcp.port[,80]’
自动添加上线(分为2种:自动发现和自动注册):
客户端要启动了才行
[root@controls zabbix_agent2.d]# systemctl is-active zabbix-agent2.service
active
自动发现
由服务器完成发现工作
在服务端和客户端分别写上IP和机器名称对应
[root@zabbix-client ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.159.129 zabbix-server
192.168.159.132 zabbix-client
利用自带的改一下就能用
打开后自带的就有
然后在服务器上日志上实时监控看
[root@zabbix-server ~]# tail -f /var/log/zabbix/zabbix_server.log
自动注册
由客户端主动发现服务器,进行上报
在服务端写上客户端的IP和机器名称对应
[root@zabbix-client ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.159.132 zabbix-client
关闭自动发现(自动发现和自动注册是两码事,只能开一个)
改客户端配置文件:
[root@zabbix-client ~]# vim /etc/zabbix/zabbix_agent2.conf
这行注释取消
HostnameItem=system.hostname
重启服务
systemctl restart zabbix-agent2.service
web上配置:
最少添加这三个:
tail -f /var/log/zabbix/zabbix_server.log
查看上线成功
用SNMP监控:
服务端和客户端都安装snmp软件
yum install net-snmp net-snmp-utils
改客户端配置文件:
sed -i.ori ‘57a view systemview included .1’ /etc/snmp/snmpd.conf
开服务
[root@zabbix-server ~]# systemctl start snmpd #被监视端开启的服务
[root@zabbix-server ~]# systemctl enable snmpd
[root@zabbix-server ~]# systemctl start snmptrapd #监视端口开启的服务(如果允许被监视端启动主动监控时启用)
[root@zabbix-server ~]# systemctl enable snmptrapd
[root@zabbix-server ~]# systemctl status snmptrapd
端口查看
测试(防火墙放了161和162也不行,只能关掉)
snmpwalk -v 2c -c public 192.168.159.132 sysname