1Linux+Zabbix+Jumpserver+Shell+Docker+K8S+MySQL
zabbix的介绍
安装zabbix5.0
1.准备机器。环境初始化
2 ifconfig
3 ifconfig ens33 | awk 'NR==2{print $2}'
4 getenforce
5 vim /etc/selinux/config ##关闭selinux
8 reboot
12 systemctl disable --now firewalld.service ##永久关闭防火墙
13 systemctl status firewalld.service
2.zabbix-server 内存尽量给大点,4G为好
3.获取zabbix下载源
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
##阿里云仓库获取
4.更换zabbix.repo源,为阿里的
20 cd /etc/yum.repos.d/
21 ls
22 cat zabbix.repo
23 sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
##替换yum源
5.清空缓存,下载zabbix服务端
34 yum clean all
35 yum makecache
36 yum install zabbix-server-mysql.x86_64 zabbix-agent -y ##安装服务端
6.安装工具,可以在机器上,使用多个版本的软件,并且不会影响到整个系统的依赖环境
37 yum install centos-release-scl -y ##便于后续安装高版本php,SCL可以让你在统一操作系统上安装和使用多个版本的软件,而不影响这个系统的安装包。
38 ls /opt/rh/ ##软件包的所有配置文件都存储在目录中相应的目录。
7.修改zabbix前端源
vim /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1 ##修改为’1‘
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
8.安装zabbix前端环境,且是安装到scl环境下
43 yum install zabbix-web-mysql-scl zabbix-apache-conf-scl -y
44 ls /opt/rh
rh-php72
9.安装zabbix所需的数据库,mariadb
45 yum install mariadb-server.x86_64 -y
10.配置数据库,开机启动
46 systemctl enable --now mariadb.service
47 systemctl status mariadb.service
50 netstat -antulp
11.初始化数据库,设置密码,mysql
52 mysql_secure_installation
12.添加数据库用户,以及zabbix所需的数据库信息
54 mysql -uroot -p
show databases;
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec) ##创建zabbix数据库,设置字符编码
MariaDB [(none)]> create user zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec) ##创建zabbix用户,允许本机登录,密码设置zabbix
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost;
Query OK, 0 rows affected (0.00 sec) ##授权,给与zabbix所有的权限在mysql里
MariaDB [(none)]> flush privileges; ##刷新
Query OK, 0 rows affected (0.00 sec)
13.使用zabbix-mysql命令,导入数据库信息
mysql -uzabbix -p zabbix 数据库名
58 zcat /usr/share/doc/zabbix-server-mysql-5.0.32/create.sql.gz | mysql -uzabbix -p zabbix
##zcat读取压缩文件内容,导入mysql数据库里面
14.修改zabbix server配置文件,修改数据库的密码
62 vim /etc/zabbix/zabbix_server.conf
63 grep '^DBPa' /etc/zabbix/zabbix_server.conf
DBPassword=zabbix
15.修改zabbix的php文件
73 vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
grep 'timezone' /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai
16.启动zabbix相关服务器
74 systemctl restart zabbix-server.service zabbix-agent.service httpd.service rh-php72-php-fpm.service
75 systemctl enable zabbix-server.service zabbix-agent.service rh-php72-php-fpm.service httpd.service
76 ip a
17.访问zabbix入口
192.168.145.151/zabbix
默认账号/密码:Admin/zabbix
部署zabbix客户端
agent2新版本采用golang语言开发的客户端
由于是go语言开发,部署起来就很方便,和之前的程序部署形式不同,agent2默认用10050端口,也就是zabbix客户端的端口
*旧版本的客户端,zabbix-agent
*新版本的客户端,zabbix-agent2
1.机器准备,2台zabbix客户端
192.168.145.152 agent1
192.168.145.153 agent2
2.注意时间正确
yum install ntpdate -y
ntpdate -u ntp.aliyun.com ##更新时间
3.时区的统一配置
7 mv /etc/localtime /etc/localtime.bak
8 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
9 date
Tue Mar 28 10:54:53 CST 2023 ##改为CST北京时区
具体zabbix-agent2的部署流程
1.提前配置好zabix-agent2的yum源
rpm -Uvh 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#' /etc/yum.repos.d/zabbix.repo ##替换yum源
yum install zabbix-agent2 -y ##下载客户端
2.查看配置文件
/etc/zabbix/zabbix_agent2.conf
3.启动命令
systemctl enable --now zabbix-agent2.service
netstat -tnlp|grep zabbix ##端口10050
tcp6 0 0 :::10050 :::* LISTEN 3529/zabbix_agent2
4.修改agent2配置文件,查看配置信息,根据自己的机器环境修改即可
agent1:
[root@localhost zabbix]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf ##筛选配置信息
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
[root@localhost zabbix]# vim /etc/zabbix/zabbix_agent2.conf ##修改配置文件
[root@localhost zabbix]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.145.151 ##修改为服务端地址
ServerActive=192.168.145.151 ##修改为服务端地址
Hostname=agent2 ##修改为本机主机名
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
同理
agent2:
[root@localhost ~]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
[root@localhost ~]# vim /etc/zabbix/zabbix_agent2.conf
[root@localhost ~]# grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
PidFile=/var/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=192.168.145.151
ServerActive=192.168.145.151
Hostname=agent2
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
5.重启zabbix-agent2
systemctl restart zabbix-agent2.service
验证zabbix-agent2的连通性
1.在服务端上通过命令,主动获取数据
yum install zabbix-get -y ##服务端下载
2.命令检测服务端是否连接上客户端
[root@localhost ~]# zabbix_get -s '192.168.145.152' -p 10050 -k 'system.hostname'
##与客户端成功连接 -s ip地址 -p端口 -k 要是实现的命令
agent1
解决zabbix-server查看的乱码问题
zabbix默认检测了服务器本身,但编码有问题 图形下方字体显示不出来
1.安装字体
yum install -y wqy-microhei-fonts.noarch
2.复制字体
\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
图形化添加zabbix-agent主机
自定义监控内容
1.明确需要执行的linux命令
who | wc -l
2.手动创建zabbix的配置文件,用于自定义key
/etc/zabbix/zabbix_agent2.d
3.创建配置文件,内容如下
[root@agent2 ~]# cd /etc/zabbix/zabbix_agent2.d/
[root@agent2 zabbix_agent2.d]# ls
[root@agent2 zabbix_agent2.d]# vim userparameter_login.conf
[root@agent2 zabbix_agent2.d]# cat userparameter_login.conf
UserParameter=login.user,who|wc -l
4.重启服务
[root@agent2 zabbix_agent2.d]# systemctl restart zabbix-agent2.service
[root@agent2 zabbix_agent2.d]# systemctl status zabbix-agent2.service
5.查看是否可以查看用户连接数
[root@server ~]# zabbix_get -s '192.168.145.153' -p 10050 -k 'login.user'
4
在页面添加zabbix-server的自定义监控项
添加流程
创建模板
创建应用集 (好比是一个文件夹,里面放入一堆监控项)
创建监控项,自定义item,你具体想监控的内容
创建触发器,当监控项获取到值的时候,进行和触发器比较、判断、决定是否报警
创建图形
将具体的主机和该模板链接,关联
1.创建模板
2.创建应用集
3.创建监控项
4.创建触发器(当登录用户大于3人触发报警)
5.创建图形
6.将主机与创建模块关联、链接(关联主机:192.168.145.153)
当登录人数>3人,触发报警
[root@server ~]# zabbix_get -s '192.168.145.153' -p 10050 -k 'login.user'
4