一.监控服务器登陆人数
需求:限制登陆人数不超1,超过1 发出报警信息
先从命令行角度:
1.明确需要执行的linux命令:

who | wc -l

2.手动创建zabbix配置文件,用于自定义key

/etc/zabbix/zabbix_agent2.conf #客户端

3.创建配置文件内容如下:

[root@zookeeper3 zabbix_agent2.d]# 
[root@zookeeper3 zabbix_agent2.d]# cat userparameter_login.conf 
UserParameter=login.user,who|wc -l
[root@zookeeper3 zabbix_agent2.d]# 
[root@zookeeper3 zabbix_agent2.d]# 
[root@zookeeper3 zabbix_agent2.d]# 
[root@zookeeper3 zabbix_agent2.d]# 
[root@zookeeper3 zabbix_agent2.d]# pwd
/etc/zabbix/zabbix_agent2.d
[root@zookeeper3 zabbix_agent2.d]#

在页面添加zabbix-server的自定义监控项模板:
· 创建模板
· 创建应用集(类似文件夹,放一堆监控项)
· 创建监控项(自定义item,想监控的内容)
· 创建触发器(当监控项获取到值时,进行和触发器比较,判断,决定是否报警)
· 创建图形
· 将具体的主机和模板链接关联

如何自动添加主机监控:

思路:

克隆监控模板,

自动注册和自动发现,

使用zabbix的api接口,利用curl语言,或者开发自己的编程脚本语言如python等

zabbix 实现指定ip监控 zabbix agent监控自定义端口_zabbix

zabbix 实现指定ip监控 zabbix agent监控自定义端口_mysql_02

通过客户端连接:
web服务器 用curl查询
mysql 用sql语句连接验证
缓存数据库服务 数据读写验证

自动发现,自动注册

自动发现:(agent2是被动模式)
zabbix server主动去发现所有的客户端,然后将客户端的信息登记在服务端的机器上;
自动注册:(agent2是主动模式)
zabbix agent2主动上报自己的信息,发给zabbix-server;

配置host解析:

zabbix 实现指定ip监控 zabbix agent监控自定义端口_zookeeper_03

创建自动发现—动作:发现动作:启用----等待创建主机

zabbix 实现指定ip监控 zabbix agent监控自定义端口_zabbix 实现指定ip监控_04


zabbix 实现指定ip监控 zabbix agent监控自定义端口_数据库_05

zabbix 实现指定ip监控 zabbix agent监控自定义端口_zabbix_06

zabbix 实现指定ip监控 zabbix agent监控自定义端口_zabbix_07


部署分布式zabbix-proxy

三台机器:

zabbix-server 139

zabbix-proxy 130

zabbix-agent2 136

zabbix 实现指定ip监控 zabbix agent监控自定义端口_zabbix_08


关闭防火墙不然后面启动代理时起不来;!
问题:
9月 28 16:22:47 test systemd[1]: Can’t open PID file /run/zabbix/zabbix_proxy.pid (yet?) after start: No such file or directory

原因:没有关闭SELinux的策略设置!

getenforce查看状态
如果SELinux是开启状态,它将显示"Enforcing"(执行模式);如果SELinux是关闭状态,它将显示"Permissive"(宽容模式)。

如果要关闭SELinux,可以按照以下步骤进行:

临时关闭SELinux(无需重启机器):

使用命令 setenforce 0。这会将SELinux设置为宽容模式。
修改配置文件。如果要永久关闭SELinux,需要编辑/etc/selinux/config文件,将SELINUX=enforcing改为`SELINUX=disable

reboot重新启动系统使更改生效


配置zabbix-proxy代理服务器,并部署数据库用于存储agent2发来的数据,最终发给zabbix-server:
配置zabbix5.0的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

安装proxy以及数据库:

yum install zabbix-proxy-mysql zabbix-get -y

启动数据库配置数据库用户存储zabbix-agent2信息数据:

yum install -y mariadb-server

systemctl start mariadb.service
systemctl enable mariadb.service
reboot

数据库sql设置:

mysql
#进入数据库
create database zabbix_proxy character set utf8 collate utf8_bin;

grant all privileges on zabbix_proxy.* to zabbix@'localhost' identified by 'zabbix';

flush privileges;

exit

导入zabbix-proxy数据库信息:

#查询sql文件在哪命令
rpm -ql zabbix-proxy-mysql
zcat /usr/share/doc/zabbix-proxy-mysql-5.0.38/schema.sql.gz | mysql -uzabbix -pzabbix zabbix_proxy

修改zabbix-proxy配置文件,链接数据库的信息:

sed -i.ori '162a DBPassword=zabbix' /etc/zabbix/zabbix_proxy.conf
sed -i 's#Server=127.0.0.1#Server=192.168.236.139#' /etc/zabbix/zabbix_proxy.conf
sed -i 's#Hostname=Zabbix proxy#Hostname=test#' /etc/zabbix/zabbix_proxy.conf

检查代理服务器的配置文件zabbix-proxy:

grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf

zabbix 实现指定ip监控 zabbix agent监控自定义端口_数据库_09


启动代理服务:
systemctl restart zabbix-proxy
systemctl enable zabbix-proxy

客户端需要改地址:

zabbix 实现指定ip监控 zabbix agent监控自定义端口_mysql_10


snmp监控

服务端安装snmp监控程序:

yum -y install net-snmp net-snmp-utils

开启snmp的配置

sed -i.ori '57a view systemview included .1' /etc/snmp/snmpd.conf

systemctl start snmpd.service

使用snmp命令:

# -v 指定协议版本 -c 指定暗号 sysname snmp的key
snmpwalk -v 2c -c public 127.0.0.1 sysname

修改页面的Zabbix server/模板/链接的模板:(去掉zbx模板然后添加snmp模板)
掉zbx模板:
Template App Zabbix Server
Template OS Linux by Zabbix agent

zabbix 实现指定ip监控 zabbix agent监控自定义端口_mysql_11

snmp模板:

Template OS Linux SNMP

zabbix 实现指定ip监控 zabbix agent监控自定义端口_mysql_12