天天看点

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

第六章

  • 6.15 SSH Agent
    • Password方式
    • 密钥方式
  • 6.16 JMX Agent
  • 6.17 IPMI Agent
  • 6.18 Database monitor

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

6.15 SSH Agent

通过SSH连接被监控设备,并且执行命令或者脚本来获取监控数据

(只要是支持ssh的设备就可以使用这个方式获取数据)

前提条件

zabbix-server端

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

数据收集流程

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

语法

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 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

结果:

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

密钥方式

第一步:确认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 [email protected]
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 [email protected]
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
[email protected]'s password: 

Number of key(s) added: 1

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

           

测试目标机器能否免密码访问,使用如下命令:

sudo -u zabbix ssh [email protected] ‘ifconfig’

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

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

数据收集流程

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

语法

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

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

添加JMX interfaces

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

添加jmx模板

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

可以在监控的最新数据中 查看监控数据

用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 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

Zabbix Server

[[email protected] ~]# tail -n 500 /var/log/zabbix/zabbix_server.log

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

配置StartIPMIPollers参数

[[email protected] ~]# vim /etc/zabbix/zabbix_server.conf

tartIPMIPollers=5

[[email protected] ~]# systemctl restart zabbix-server.service

安装 ipmi 命令

[[email protected] ~]# which ipmi

[[email protected] ~]# yum search ipmi

[r[email protected] ~]# yum -y install ipmitool OpenIPMI OpenIPMI-libs

接下来登录服务器的iDrac管理页面开启戴尔服务器的IPMI服务器支持,以及配置对应的Zabbix 监控用户相应的权限

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor
Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

配置一个zabbix用户

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

在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.创建主机

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor
Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

2.创建监控项

Key是自定义的,保证唯一即可

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

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通信

被监控设备

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

数据库监控收集流程

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

语法

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

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

2.验证结果

Zabbix 4.0企业级分布式监控 day09 第六章 数据收集056.15 SSH Agent6.16 JMX Agent6.17 IPMI Agent6.18 Database monitor

到这里为止,数据收集的基本概念和配置管理大致完成,还剩下三个管理小功能,在已有的监控项基础之上进行一些数值处理。