本文主要介绍如何使用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目录下

cd /soft
mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

3、解压缩软件

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、删除操作系统自带软件

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,按顺序安装

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软件

安装依赖包:

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、创建用户

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目录,执行编译

cd zabbix-4.4.7/
执行
./configure --prefix=/usr/local/zabbix --with-mysql --with-libcurl --enable-server --enable-agent --enable-proxy --with-libxml2

6、安装软件

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

[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

cd /etc/zabbix/zabbix_agentd.d/
sed -i 's/psql/ksql/g' template_db_postgresql.conf

9、创建ksql软链接

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

原文地址:http://www.cnblogs.com/happy-0824/p/16902422.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性