Zabbix 4.0企业级分布式监控 day09 第六章 数据收集05

 
6.16和6.17 稍微提一下。 重点关注 6.15和6.18
 

6.15 SSH Agent

通过SSH连接被监控设备,并且执行命令或者脚本来获取监控数据
(只要是支持ssh的设备就可以使用这个方式获取数据)

前提条件
zabbix-server端

  • zabbix server 安装时需要支持ssh
  • 验证到被监控设备的ssh登陆
  • 添加ssh agent监控

数据收集流程
在这里插入图片描述
语法

ssh.run[<unique short description>,<ip>,<port>,<encoding>]

Password方式

第一步:确认是否安装SSH
在客户端:
#mkdir /home/zabbix
#chown zabbix:zabbix /home/zabbix/
#chmod 700 /home/zabbix/
#usermod -s /bin/bash zabbix   //修改用户登入后所使用的shell
#passwd zabbix
#usermod -m -d /home/zabbix zabbix    //修改用户登入时的目录

在服务端:
查看从Server端到被监控的Agent端,SSH的登录情况
#ssh [email protected]

第二步:在Web前端增加SSH的监控项
在这里插入图片描述
结果:
在这里插入图片描述

密钥方式

第一步:确认zabbix
在服务端
#mkdir /home/zabbix
#chown zabbix:zabbix /home/zabbix/
#chmod 700 /home/zabbix/
#usermod -s /bin/bash zabbix   //修改用户登入后所使用的shell
#passwd zabbix
#usermod -m -d /home/zabbix zabbix    //修改用户登入时的目录

第二步:创建密钥

[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf 
SSHKeyLocation=/home/zabbix/.ssh
[root@localhost ~]# systemctl restart zabbix-server.service

创建RSA登录的key
使用如下命令生产SSH密钥:
[root@localhost zabbix]# mkdir -p /home/zabbix/.ssh
[root@localhost zabbix]# chown zabbix:zabbix -R /home/zabbix/
[root@localhost zabbix]# sudo -u zabbix ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/var/lib/zabbix/.ssh/id_rsa): /home/zabbix/.ssh/id_rsa
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/zabbix/.ssh/id_rsa.
Your public key has been saved in /home/zabbix/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:/+vkeeKEJye+v+q0Th5x1NZMClQyLo3clCJWVc2Jm7Q zabbix@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|         ..oB++oo|
|        o..*.B *o|
|       . .+.* B o|
|           o E   |
|        S . .    |
|         . +     |
|          O =    |
|         = %...  |
|         oO*X=   |
+----[SHA256]-----+


[root@localhost zabbix]# ls -l /home/zabbix/.ssh
总用量 8
-rw------- 1 zabbix zabbix 1675 5月  27 23:06 id_rsa
-rw-r--r-- 1 zabbix zabbix  410 5月  27 23:06 id_rsa.pub


传输公钥
[root@localhost zabbix]# sudo -u zabbix ssh-copy-id [email protected]

ssh秘钥分发错误“/usr/bin/ssh-copy-id: ERROR: No identities found”
因为 要分发的秘钥/root/.ssh/id_dsa.pub,根本不存在,才会提示这个错误,于是使用ssh-keygen -t dsa 生成公钥后即可。

[root@localhost zabbix]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:fWFwTMnKD/frL+yYe4l108v9ddIUbWqnFZXk9fdjCmQ root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|          .+o...+|
|           o+ ..=|
|         . Eo  +=|
|         .*... o=|
|        S .=..oo*|
|           .o.=B+|
|             =++B|
|            .o*++|
|            +=oo+|
+----[SHA256]-----+


[root@localhost zabbix]# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
zabbix@192.168.93.147's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'zabbix@192.168.93.147'"
and check to make sure that only the key(s) you wanted were added.

测试目标机器能否免密码访问,使用如下命令:
sudo -u zabbix ssh [email protected] ‘ifconfig’

在这里插入图片描述

6.16 JMX Agent

JMX java管理扩展
前提条件
zabbix-server

  • zabbix server安装时需要启用JAVA Gateway
  • zabbix server 配置启动JAVA Gateway
  • zabbix server 配置JAVA Gateway/JAVA GatewayPort参数
  • zabbix server配置Start JavaPollers参数
  • 保障zabbix server和JMX 应用的IP+Port通信

被监控设备

  • 开启并正确配置JMX

数据收集流程
在这里插入图片描述
语法
jmx[object_name,attribute_name]
jmx.discovery[,]

attribute模式
{
   
   #JMXVALUE}
{
   
   #JMXTYPE}
{
   
   #JMXOBJ}
{
   
   #JMXDESC}
{
   
   #JMXATTR}

beans模式
{
   
   #JMXDOMAIN}
{
   
   #JMXOBJ}
{
   
   #JMX<key property>}

在zabbix server上  拿本机演示
 yum install zabbix-java-gateway -y
修改zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
START_POLLERS=5
JAVA_OPTIONS="$JAVA_OPTIONS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
启动服务
systemctl start zabbix-java-gateway.service

修改zabbix_server.conf
JavaGateway=127.0.0.1
JavaGatewayPort=10052
StartJavaPollers=5
重启zabbix-server

web界面找到zabbix server
在这里插入图片描述
添加JMX interfaces
在这里插入图片描述
添加jmx模板
在这里插入图片描述
可以在监控的最新数据中 查看监控数据

用jconsole查看

在agent上部署一个tomcat 来监控
修改tomcat的catalina.sh添加(也可以启用认证)
CATALINA_OPTS="
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=18080
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
"
启动tomcat
在web界面添加端口监听
…略,以后用到再补充
 

6.17 IPMI Agent

硬件设备的监控一般都可以通过SNMP和IPMI实现
IMPI(智能平台管理接口)是独立于系统的,只要系统是通电的,就可以实现对服务器的管理和监控(物理状态,温度,电压,电源等等)。

前提条件
zabbix-server

  • zabbix-server 安装时需要支持IPMI
  • zabbix-server配置StartIPMIPollers参数
  • 验证访问被监控设备的IPMI设置

被监控设备 开始并正确配置IPMI

数据收集流程
在这里插入图片描述

Zabbix Server
[root@localhost ~]# tail -n 500 /var/log/zabbix/zabbix_server.log

在这里插入图片描述
配置StartIPMIPollers参数
[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
tartIPMIPollers=5
[root@localhost ~]# systemctl restart zabbix-server.service

安装 ipmi 命令
[root@localhost ~]# which ipmi
[root@localhost ~]# yum search ipmi
[root@localhost ~]# yum -y install ipmitool OpenIPMI OpenIPMI-libs

接下来登录服务器的iDrac管理页面开启戴尔服务器的IPMI服务器支持,以及配置对应的Zabbix 监控用户相应的权限
在这里插入图片描述
在这里插入图片描述
配置一个zabbix用户
在这里插入图片描述
在zabbix-server上执行命令 测试获取数据,看是否能获取
ipmitool -I lanplus -H 192.168.93.148 -U zabbix -P zabbix -L user sensor list
ipmitool -I lanplus -H 192.168.93.148 -U zabbix -P zabbix -L user sensor get “Fan1”

web界面配置
1.创建主机
在这里插入图片描述
在这里插入图片描述
2.创建监控项
Key是自定义的,保证唯一即可
在这里插入图片描述

6.18 Database monitor

Uninx ODBC支持常见的数据库系统:MySQL、SQL Server、Oracle、MongoDB

前提条件
zabbix-server

  • zabbix server安装时需要启用unuxODBC
  • zabbix server安装和配置unixODBC
  • zabbix server配置对应的ODBC Driver
  • 保障zabbix server和数据库的IP+Port通信

被监控设备

  • 数据库配置正确的账号和权限

数据库监控收集流程
在这里插入图片描述

语法

db.odbc.select[<unique short description>,<dsn>]

zabbix server上安装ODBC
yum search ODBC
yum install unixODBC unixODBC-devel
yum search odbc
yum install mysql-connector-odbc

[root@localhost ~]# odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8

配置数据库连接
#vim /etc/odbc.ini
[zabbix]
Decription= MySQL zabbix DB
Driver = mysql
Server = localhost
User = zabbix
Password = zabbix@findsec123
Port = 3306
Database = zabbix

isql测试数据源的连接情况
[root@localhost ~]# isql zabbix
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> 

1.创建监控项
以select count(*) from users; 来监控数据库用户数量
Key的第二个参数 dsn是上面配置数据库连接的 【zabbix】的zabbix
在这里插入图片描述
2.验证结果
在这里插入图片描述
到这里为止,数据收集的基本概念和配置管理大致完成,还剩下三个管理小功能,在已有的监控项基础之上进行一些数值处理。

猜你喜欢

转载自blog.csdn.net/qq_39578545/article/details/106391252