This page looks best with JavaScript enabled

Zabbix 监控Postgres 和 Redis

 ·  ☕ 1 min read

非教程贴,布署完成后的回忆记录。

  • Zabbix Agent 布署机器: CentOS 7+
  • Zabbix Server 版本: 4.4.4

安装 Zabbix Agent 。

Step1 添加 Zabbix 的存储库

不同版本的 Zabbix 存储库地址可以在 https://www.zabbix.com/cn/download 。找到

1
2
3
4
5
CentOS/RHEL 7:
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-2.el7.noarch.rpm

CentOS/RHEL 6:
rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-release-4.0-2.el6.noarch.rpm

Step2 安装 Zabix Agent

1
yum install zabbix-agent

Step3 Zabbix Agent Configuration

Zabbix Agent 安装成功后,就可以配置 Zabbix Agent 了。配置文件的地址在 /etc/zabbix/zabbix_agent.conf

#Server=[zabbix server ip]
#Hostname=[ Hostname of client system ]

Server=192.168.1.100
Hostname=Server1

Step4 Open Port

Zabbix Agent 使用 10050/tcp 端口。在防火墙中打开此端口。其中 192.168.1.100 是 Zabbix 服务器的 IP。

1
# iptables -A INPUT -p tcp -s 192.168.1.100 --dport 10050 -m state --state NEW,ESTABLISHED -j ACCEPT

像阿里云可能要通过 Web 后台配置开放端口。

Step5 重启 Zabbix Agent

service zabbix-agent restart

Zabbix + Postgresql

这里使用官方的配置方式: https://www.zabbix.com/cn/integrations/postgresql

源码

  1. 创建对PostgreSQL服务器具有适当访问权限的只读zbx_monitor用户, PostgreSQL-11

    1
    2
    
    CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>' INHERIT;
    GRANT pg_monitor TO zbx_monitor;
    

    ``

  2. 下载上面的 postgresql 源码,并将 postgresql/ 复制到 /var/lib/zabbix/ 目录下。

  3. 复制 template_db_postgresql.conf 配置文件在 /etc/zabbix/zabbix_agent.d/ 目录下,并确保 /etc/zabbix/zabbix_agent.conf 中配置:

    Include=/etc/zabbix/zabbix_agentd.d/
    

    ``

  4. 配置 pg_hba.conf

host all zbx_monitor 127.0.0.1/32 trust
host all zbx_monitor 0.0.0.0/0 md5
host all zbx_monitor ::0/0 md5
```

如何是要监控远程的服务器,则需要在 Zabbix agent 主目录下 /var/lib/zabbix/ 创建 .pgpass ,并添加连接的具体信息。

  1. 通过 Zabbix Web 导入 template_db_postgresql.xml ,并链接到相应的主机上。如何成功的话很快就会有数据了。
<REMOTE_HOST1>:5432:postgres:zbx_monitor:<PASSWORD>

<REMOTE_HOST2>:5432:postgres:zbx_monitor:<PASSWORD>
...
<REMOTE_HOSTN>:5432:postgres:zbx_monitor:<PASSWORD>

OR

*:5432:postgres:zbx_monitor:<PASSWORD>

Zabbix + Redis

监控 Redis 主要是通过 redic-cli info 命令获取 Redis 的状态。

1
2
3
~# ~# cat /etc/zabbix/zbbix_agentd.d/redis.conf
UserParameter=redis[*],redis-cli -a password info 2>/dev/null | grep $1":" | cut -d ':' -f 2
UserParameter=redis-ping,redis-cli -a password ping 2>/dev/null | grep -c PONG

模板文件:Template App Redis.xml

Share on

Serendipity
WRITTEN BY
Serendipity
iOS/Golang/Rust