zabbix监控KingbaseES数据库
本文主要介绍如何使用zabbix工具监控KingbaseES数据库。
注:采用LNMP方式部署zabbix(L:Linux;N:nginx;M:mysql;P:php)
一、部署软件
二、整体部署步骤
zabbix服务器:
1、部署MySQL软件
2、部署nginx软件
3、部署PHP软件
4、部署zabbix_server软件
KingbaseES数据库服务器:
1、部署zabbix_agent软件
三、部署记录
3.1、部署MySQL软件
1、下载MySQL软件(rpm安装即可)
下载地址:https://downloads.mysql.com/archives/community/
2、上传软件到/soft目录下
1 2 | cd /soft mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar |
3、解压缩软件
1 2 3 4 | mkdir mysql mv mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar mysql cd mysql/ tar xf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar |
4、删除操作系统自带软件
1 2 3 4 5 | rpm -qa|grep mysql rpm -qa|grep mariadb mariadb-libs-5.5.60-1.el7_5.x86_64 若上述命令查询出现内容,需要卸载 rpm -e --nodeps mariadb-libs |
5、安装mysql,按顺序安装
1 2 3 4 5 | rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm rpm -ivh mysql-community-devel-5.7.30-1.el7.x86_64.rpm |
6、启动数据库
systemctl start mysqld
7、查看默认的临时密码
grep 'temporary password' /var/log/mysqld.log 2022-11-09T08:03:54.103673Z 1 [Note] A temporary password is generated for root@localhost: vg0YdcydYA%N
8、登录数据库,修改数据库root用户密码(123456),修改权限
mysql -uroot -p Enter password: 输入刚刚查询的密码 修改root用户密码 set global validate_password_policy=0; set global validate_password_length=1; ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; FLUSH PRIVILEGES;
3.2、部署nginx软件
安装依赖包:
1 | yum -y install zlib pcre pcre-devel openssl openssl-devel gcc |
1、 下载软件
Nginx:http://nginx.org/en/download.html
openssl:https://www.openssl.org/source/openssl-1.0.2o.tar.gz
2、创建用户
1 | useradd -s /sbin/nologin www |
3、解压缩nginx软件
tar xf nginx-1.15.1.tar.gz
4、解压缩openssl软件
tar xf openssl-1.0.2o.tar.gz
5、编译nginx
cd /soft/nginx-1.15.1/ 执行: ./configure \ --user=www \ --group=www \ --prefix=/usr/local/nginx \ --sbin-path=/usr/local/nginx/sbin/nginx \ --conf-path=/usr/local/nginx/conf/nginx.conf \ --error-log-path=/usr/local/nginx/logs/error.log \ --http-log-path=/usr/local/nginx/logs/access.log \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/subsys/nginx \ --with-openssl=/soft/openssl-1.0.2o \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-http_gzip_static_module \ --with-pcre
注意:编译nginx中openssl路径要注意为实际路径
6、安装
make
make install
3.3、部署PHP软件
安装依赖包:
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel
1、下载php软件
下载地址:http://am1.php.net/distributions/php-7.2.3.tar.gz
2、解压缩软件
tar xf php-7.2.3.tar.gz
3、编译php
cd /soft/php-7.2.3/ 执行 ./configure \ --prefix=/usr/local/php7 \ --enable-fpm \ --with-fpm-user=www \ --with-fpm-group=www \ --with-pdo-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-zlib \ --with-curl \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-freetype-dir \ --with-openssl \ --enable-mbstring \ --enable-xml \ --enable-session \ --enable-ftp \ --enable-pdo -enable-tokenizer \ --enable-zip
4、安装
make
make install
5、拷贝文件到相关目录
cp php-7.2.3/php.ini-production /usr/local/php7/lib/php.ini cp php-7.2.3/sapi/fpm/php-fpm.service /usr/lib/systemd/system/
6、修改nginx配置文件
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
vim /usr/local/nginx/conf/nginx.conf user www;
#修改index.html为index.php location / { root html; index index.html index.php; } #取消注释:修改SCRIPT_FILENAME为/usr/local/nginx/html$fastcgi_script_name; location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; include fastcgi_params; }
7、拷贝文件
cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
8、启动php服务
systemctl start php-fpm.service
9、查看php启动端口是否为9000
netstat -antlp | grep php
10、测试nginx是否能正常启动
/usr/local/nginx/sbin/nginx -t
如图即为正常:
11、启动nginx
/usr/local/nginx/sbin/nginx
12、验证PHP,创建info.php文件
echo '<?php phpinfo(); ?>' > /usr/local/nginx/html/info.php
在客户端输入服务器的IP/info.php,如果网页能打卡正常,说明配置正确
192.168.128.128/info.php
13、php配置优化,配置完后重启php-fpm服务
#修改以下参数
vim /usr/local/php7/lib/php.ini post_max_size = 16M max_execution_time = 300 memory_limit = 128M max_input_time = 300 date.timezone = Asia/Shanghai 重启服务 systemctl restart php-fpm.service
3.4、部署zabbix软件
3.4.1、部署zabbix_server服务
1、 下载zabbix软件
https://www.zabbix.com/cn/download_sources
2、 yum安装包
yum install net-snmp net-snmp-devel curl curl-devel libxml2 libevent libevent-devel net-snmp-devel
如果未能安装libevent-devel,则需要手动安装rpm包
rpm -ivh libevent-devel-2.0.21-4.el7.x86_64.rpm
3、创建启动zabbix的守护进程的普通用户
groupadd zabbix useradd -g zabbix zabbix
4、解压缩zabbix软件
tar xf zabbix-4.4.7.tar.gz
5、进入解压好的zabbix目录,执行编译
1 2 3 | cd zabbix-4.4.7/ 执行 ./configure --prefix=/usr/local/zabbix --with-mysql --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2 |
6、安装软件
1 2 | make make install |
7、创建软链接
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ ln -s /usr/local/zabbix/bin/* /usr/local/bin/
8、MySQL创建zabbix数据库和zabbix的数据库用户
create database zabbix character set utf8 collate utf8_bin; set global validate_password_policy=0; set global validate_password_length=1; grant all privileges on zabbix.* to zabbix@'%' identified by '123456'; grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456'; flush privileges;
9、zabbix数据导入, 进入zabbix源码包中 database/mysql/ 目录下(/soft/zabbix-4.4.7/database/mysql)
set names utf8; use zabbix; source /soft/zabbix-4.4.7/database/mysql/schema.sql source /soft/zabbix-4.4.7/database/mysql/data.sql source /soft/zabbix-4.4.7/database/mysql/images.sql
10、配置zabbix server
编辑 /usr/local/zabbix/etc/zabbix_server.conf,修改以下配置项
cp /usr/local/zabbix/etc/zabbix_server.conf /usr/local/zabbix/etc/zabbix_server.conf.bak vim /usr/local/zabbix/etc/zabbix_server.conf ListenPort=10051 LogFile=/tmp/zabbix_server.log DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=123456 ListenIP=0.0.0.0 StartPollers=5 StartTrappers=10 StartDiscoverers=10 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts
11、拷贝 zabbix_server和zabbix_agentd两个管理脚本,到/etc/init.d目录下
cd /etc/init.d cp /soft/zabbix-4.4.7/misc/init.d/fedora/core/* /etc/init.d/ chmod +x zabbix_server chmod +x zabbix_agentd
12、启动zabbix服务
/etc/init.d/zabbix_server start
13、添加相应的zabbix服务和端口到系统配置文件中
vim /etc/services #如果已存在就不需要改动 zabbix-agent 10050/tcp # Zabbix Agent zabbix-agent 10050/udp # Zabbix Agent zabbix-trapper 10051/tcp # Zabbix Trapper zabbix-trapper 10051/udp # Zabbix Trapper
3.4.2、zabbix server端 安装 zabbix web GUI
zabbix web GUI:在zabbix 源码包中 frontends/php目录下。拷贝php目录到zabbix安装目录下/usr/local/nginx/html/,并重命名为zabbix
cp -r /soft/zabbix-4.4.7/frontends/php /usr/local/nginx/html/zabbix
3.4.3、添加php缺少的四个功能模块
添加在之前完成PHP的安装后缺少的四个功能模块:bcmath,sockets, LDAP和gettext
1、安装依赖包
yum install autoconf openldap openldap-devel
2、拷贝文件,添加ldap依赖
cp -frp /usr/lib64/libldap* /usr/lib/
3、这里对bcmath 模块进行配置添加作为例子,其它三个模块配置步骤完全一样,记住一点对哪个模块进行配置就在哪个模块下的目录进行操作。
安装bcmatch
cd /soft/php-7.2.3/ext/bcmath /usr/local/php7/bin/phpize /* *上面命令执行完成后,在当前目录下生成bcmath的configure文件,再执行下面操作 */ ./configure --with-php-config=/usr/local/php7/bin/php-config make make install
安装gettext
cd /soft/php-7.2.3/ext/gettext /usr/local/php7/bin/phpize /* *上面命令执行完成后,在当前目录下生成bcmath的configure文件,再执行下面操作 */ ./configure --with-php-config=/usr/local/php7/bin/php-config make make install
安装ldap
cd /soft/php-7.2.3/ext/ldap /usr/local/php7/bin/phpize /* *上面命令执行完成后,在当前目录下生成bcmath的configure文件,再执行下面操作 */ ./configure --with-php-config=/usr/local/php7/bin/php-config make make install
安装sockets
cd /soft/php-7.2.3/ext/sockets /usr/local/php7/bin/phpize /* *上面命令执行完成后,在当前目录下生成bcmath的configure文件,再执行下面操作 */ ./configure --with-php-config=/usr/local/php7/bin/php-config make make install
注意:PHP编译配置生成的模块放置于下面的目录
/usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718/
4、修改配置文件(直接添加即可)
vim /usr/local/php7/lib/php.ini extension_dir = "/usr/local/php7/lib/php/extensions/no-debug-non-zts-20170718" extension = bcmath.so extension = gettext.so extension = ldap.so extension = sockets.so
5、重启php-fpm服务器,对php.ini所做的配置生效
systemctl restart php-fpm.service
3.4.5、登录zabbix
打开浏览器,输入地址zabbix servier ip/zabbix,然后就能进入Zabbix的web管理配置界面
192.168.128.128/zabbix
点击下一步
配置MySQL的数据库信息
配置zabbix信息
概览
下载配置文件zabbix.conf.php,然后保存到下面目录(/usr/local/nginx/html/zabbix/conf/)
[root@node01 ~]# cp /soft/zabbix.conf.php /usr/local/nginx/html/zabbix/conf/
点击finish
点击finish完成安装,并且调转登录页面
默认用户:Admin
默认密码:zabbix
至此,zabbix_server安装完毕。
3.5、部署zabbix_agent软件
zabbix_agent软件需要在被监控的数据库服务器部署
!!!部署agent,要关闭selinux
1 2 3 4 | [root@node02 ~]# vim /etc/selinux/config SELINUX=disabled 重启服务器reboot |
1、server和agent配置主机名
server和agent服务器服务器添加主机名配置
vi /etc/hosts 192.168.128.128 node01 192.168.128.129 node02
2、获取zabbix agent rpm
http://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-agent-4.4.7-1.el7.x86_64.rpm
3、安装zabbix-agent
rpm -ivh zabbix-agent-4.4.7-1.el7.x86_64.rpm
4、修改agent启动服务脚本
vim /usr/lib/systemd/system/zabbix-agent.service
把默认的用户User和组Group:zabbix修改为root
修改完agent启动脚本要执行
systemctl daemon-reload
5、修改zabbix agent的配置文件zabbix_agentd.conf, 主要项目如下:
cd /etc/zabbix/ cp zabbix_agentd.conf zabbix_agentd.conf.bak vim zabbix_agentd.conf LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=5 Timeout=30 #最大值是30 超过30启动会报错 Server=192.168.128.128 #zabbix server IP 地址 StartAgents=3 ServerActive=192.168.128.128 # zabbix server IP 地址 Hostname=node02 # 一般填写zabbix agent主机名 hostname命令可以查看 Include=/etc/zabbix/zabbix_agentd.d/*.conf UnsafeUserParameters=1 AllowRoot=1
6、启动zabbix agent服务
systemctl start zabbix-agent.service
7、测试 zabbix server 监控是否生效(在zabbix_server服务器测试192.168.128.128,agent服务器192.168.128.129),命令中XXX表示zabbix agent IP 地址,如果结果返回一串数字表示测试成功。数字的意思是客户端在线时间时长,单位是:秒
/usr/local/zabbix/bin/zabbix_get -s 192.168.128.129 -p 10050 -k "system.uptime"
3.6、配置zabbix监控KingbaseES数据库
1、创建监控用户
CREATE USER zbx_monitor WITH PASSWORD '123456' ; GRANT pg_monitor TO zbx_monitor;
2、配置认证文件sys_hba.conf(可根据实际情况配置)
host all zbx_monitor 127.0.0.1/32 trust host all zbx_monitor 0.0.0.0/0 trust host all zbx_monitor ::0/0 trust
重启数据库或者reload data
3、安装依赖
yum -y install postgresql-libs yum -y install libconfig
4、安装libzbxpgsql-1.1.0-1.el7.x86_64.rpm
rpm -ivh libzbxpgsql-1.1.0-1.el7.x86_64.rpm
5、配置zabbix_agentd.conf,加入module信息
[root@node02 soft]# find / -name libzbxpgsql.so /usr/lib64/zabbix/modules/libzbxpgsql.so
配置文件
vim /etc/zabbix/zabbix_agentd.conf LoadModulePath=/usr/lib64/zabbix/modules LoadModule= libzbxpgsql.so
6、查看zabbix agent插件是否生效
[root@node02 ~]# zabbix_agentd -t pg.modver
zabbix_agentd [11396]: using module configuration file: /etc/zabbix/libzbxpgsql.conf
starting agent module libzbxpgsql 1.1.0pg.modver [s|libzbxpgsql 1.1.0, compiled for Zabbix 4.4.0]
systemctl restart zabbix-agent.service
若在检测agent插件时报错如下,则可以按照下面的方式进行处理
找到上面安装完rpm包后生成的libzbxpgsql.so文件并且删除,使用下面libzbxpgsql.so文件进行替换
https://support.zabbix.com/browse/ZBX-16028
7、监控脚本下载:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/postgresql
选择对应版本号,然后下载监控模板
拷贝postgresql 监控脚本目录至 /var/lib/zabbix/ 目录下,postgresql/目录包含从postgresql获取数据库指标所需的脚本文件
解压缩:
cd /soft unzip zabbix-release-4.4@64fec295619.zip cd /soft/templates/db/postgresql cd postgresql [root@node02 postgresql]# ll 总用量 356 drwxr-xr-x. 2 root root 4096 7月 1 2020 postgresql -rw-r--r--. 1 root root 33963 7月 1 2020 README.md -rw-r--r--. 1 root root 3096 7月 1 2020 template_db_postgresql.conf -rw-r--r--. 1 root root 318511 7月 1 2020 template_db_postgresql.xml [root@node02 postgresql]# cp -r postgresql/ /var/lib/zabbix/
将template_db_postgresql.conf复制到Zabbix代理配置目录/etc/zabbix/zabbix_agentd.d/目录下
[root@node02 postgresql]# cp template_db_postgresql.conf /etc/zabbix/zabbix_agentd.d/
8、修改template_db_postgresql.conf配置文件
替换文件中的psql为ksql
1 2 | cd /etc/zabbix/zabbix_agentd.d/ sed -i 's/psql/ksql/g' template_db_postgresql.conf |
9、创建ksql软链接
1 | ln -s /home/kingbase/kes/Server/bin/ksql /bin/ksql |
10、导入监控模板
使用下载的模板
目录:
zabbix界面导入监控模板
1)打开网页端的zabbix管理平台
2)选择configuration->templates->import
3)选择下载好的模板导入
11、zabbix页面创建新组
12、zabbix页面创建新host
1)点击kingbase组对应的Hosts
2)创建新host
3)按照提示,填写数据库服务器的主机名;选择创建的kingbase组;填写数据库服务器IP
4)选择监控模板
5)配置数据库连接信息
四、查看监控信息
五、相关进程维护
启动MySQL
systemctl start mysqld
状态
systemctl status mysqld
启动php
systemctl start php-fpm.service
状态
systemctl status php-fpm.service
启动nginx
/usr/local/nginx/sbin/nginx
启动zabbix_server服务
systemctl start zabbix_server
状态
systemctl status zabbix_server
zabbix_server日志目录:/tmp/zabbix_server.log
启动zabbix_agent服务
systemctl start zabbix-agent.service
状态:
systemctl status zabbix-agent.service
zabbix-agent日志目录:/var/log/zabbix/zabbix_agentd.log
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)