zabbix安装odbc监控oraclegrafana数据展示
zabbix安装
1.下载zabbix
官方地址:https://www.zabbix.com/cn/download?zabbix=5.0&os_distribution=centos&os_version=7&components=server_frontend_agent&db=mysql&ws=apache

安装自己的环境选择。
关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld关闭selinux
# sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
重启生效
# reboot
2.安装zabbix server
2.1安装zabbix repository
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
2.2安装Zabbix server,Web前端,agent
yum 安装并保持包的设置
1.keepcache=0改为1
# vi /etc/yum.conf
#将其中的keepcache=0改为1,保存退出2.yum安装各种软件包3.查看缓存目录
cd /var/cache/yum/$basearch/$releasever# yum install zabbix-server-mysql zabbix-agent
2.3安装zabbix frontend
启用Red Hat Software Collections
# yum install centos-release-scl编辑配置文件/etc/yum.repos.d/zabbix.repo and enable zabbix-frontend repository.
[zabbix-frontend]
...
enabled=1
...安装Zabbix frontend包
# yum install zabbix-web-mysql-scl zabbix-apache-conf-scl
2.4安装mariadb数据库
安装mariadb数据库
# yum install mariadb mariadb-server -y 启动数据库
# systemctl start mariadb 设置开机启动mariadb数据库
# systemctl enable mariadb看端口、看进程
# ps aux|grep mysql# netstat -anplut

2.5创建数据库和用户
创建数据库和用户
# mysql -uroot -p
直接回车,默认密码为空。
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> create user zabbix@localhost identified by '123456';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;导入初始架构和数据,系统将提示您输入新创建的密码。
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
输入zabbix密码

2.6zabbix server配置数据库
编辑配置文件/etc/zabbix/zabbix_server.conf
# vi /etc/zabbix/zabbix_server.conf
### Option: DBPassword
# Database password.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
# DBPassword=
DBPassword=123456

2.7为Zabbix前端配置PHP
编辑配置文件 /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
; php_value[date.timezone] = Europe/Riga
改为
php_value[date.timezone] = Asia/Shanghai或者直接命令修改
echo "php_value[date.timezone] = Asia/Shanghai" >> /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
2.8.启动Zabbix server和agent进程
启动Zabbix server和agent进程,并为它们设置开机自启:
# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm# 看进程、端口
ps aux|grep zabbix
netstat -anplut|grep zabbix
检查是否启动zabbix:

2.9.配置Zabbix前端
网页直接打开虚拟机的IP, http://192.168.5.101/zabbix





最后出现下面的界面,表示设置成功。

2.10.登录zabbix
用户名: Admin
密码: zabbix

把页面显示设置为中文

2.11.解决zabbix前端的图形界面出现中文的乱码问题
打开windows机器C盘C:\Windows\Fonts,找到以下路径中的楷体,将此文件复制到桌面

并将这个简体文件simkai.ttf复制到/usr/share/zabbix/assets/fonts/
修改配置文件/usr/share/zabbix/include/defines.inc.php
# vi /usr/share/zabbix/include/defines.inc.php
define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
再回到主页, 主机–图形


这就表示乱码问题解决。
3.安装zabbix agent
关闭防火墙和selinux
关闭防火墙
# systemctl stop firewalld
# systemctl disable firewalld关闭selinux
# sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
重启生效
# reboot
3.1安装zabbix repository
# yum install https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# yum clean all
3.2安装zabbix agent
# yum install zabbix-agent
3.3修改zabbix agent配置文件
[root@zabbix-2 ~]# vi /etc/zabbix/zabbix_agentd.conf
Server=192.168.5.101
ServerActive=192.168.5.101
Hostname=zabbix-2需要改变的参数:
Server: 被动模式,允许哪台服务器连接Agent。
ServerActive: 主动模式,向哪台服务器传送数据。
Hostname: 填入主机名即可
3.3启动zabbix agent
# systemctl restart zabbix-agent
# systemctl enable zabbix-agent检查端口
[root@zabbix-2 ~]# netstat -anltp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 960/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1052/master
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 1203/zabbix_agentd
tcp 0 48 192.168.5.102:22 192.168.5.1:6569 ESTABLISHED 1135/sshd: root@pts
tcp 0 0 192.168.5.102:22 192.168.5.1:6570 ESTABLISHED 1137/sshd: root@not
tcp6 0 0 :::22 :::* LISTEN 960/sshd
tcp6 0 0 :::10050 :::* LISTEN 1203/zabbix_agentd
3.4手动添加主机
打开zabbix页面,配置->主机->创建主机


群组: 选择合适的主机监控目的,linux监控还是DB监控
客户端: 填入agent IP即可
输入完成之后,点击"模板"





可以看到主机添加成功,状态状态是已启用的。

稍等5分钟,然后查看数据


有数据显示,说明配置成功了。
3.5自动注册
由于只有一台agent,删除前面手工添加的主机


启用自动发现

设置成功的状态

设置自动发现的网段配置


修改成功的截图

查看是否添加成功。根据上面的更新间隔是1h,如果不想等,可以改成5m【5分钟】,下图表示已经自动添加成功。

3.6自动发现
先删除主机,并禁用自动发现的2个策略。



点击"创建动作"



再次点击添加,与模板关联


最后点击"添加"

重新启动zabbix agent服务
# systemctl restart zabbix-agent
刷新之后可以检测到zabbix-2已经添加

4.安装docker
#卸载已经安装的docker
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine#部署依赖与源 sudo yum install -y yum-utilssudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo#部署dockersudo yum install docker-ce docker-ce-cli containerd.io#启动docker
systemctl start docker
systemctl enable docker
systemctl status docker
5.启用oracle镜像
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11gos root密码为: helowin
数据库名: helowin
启动容器
docker start oracle11g
进入镜像配置
docker exec -it oracle11g bash
oracle用户的配置
切换到oracle 用户
su - oracleoracle数据库的操作
source /home/oracle/.bash_profile
sqlplus / as sysdba修改sys和system用户密码
alter user system identified by system;
alter user sys identified by sys;创建用户 create user test identified by test;
给用户赋予权限 grant connect,resource,dba to test;解锁demo用户(安装时若使用默认情况没有解锁和设置密码进行下列操作,要超级管理员操作)
alter user demo account unlock;解锁demo用户的密码【也可用来重置密码】
alter user demo identified by demo;
建表及测试数据示例:
--创建表空间
create tablespace testdata
datafile '/home/oracle/app/oracle/oradata/helowin/table_test.dbf'
size 100m
autoextend on
next 10m;--创建用户
create user demo
identified by demo
default tablespace testdata;--给demo赋予DBA权限
grant dba to demo;conn demo/demo;--创建业主表
CREATE TABLE T_OWNERS(
ID NUMBER PRIMARY KEY,
NAME VARCHAR2(30),
ADDRESSID NUMBER,
HOUSENUMBER VARCHAR2(30),
WATERMETER VARCHAR2(30),
ADDDATE DATE,
OWNERTYPEID NUMBER
);--插入语句
insert into T_OWNERS VALUES (1,'Jason Long',1,'1-1','123456',sysdate,1 );
commit;--修改语句
update T_OWNERS set adddate=adddate-3 where id=1;
commit;--删除语句
delete from T_OWNERS where id=1;
commit;--删除语句
truncate table T_OWNERS;
创建用于监控的zabbix用户
CREATE USER ZABBIX IDENTIFIED BY zabbix DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;
GRANT CONNECT TO ZABBIX;
GRANT RESOURCE TO ZABBIX;
ALTER USER ZABBIX DEFAULT ROLE ALL;
GRANT SELECT ANY TABLE TO ZABBIX;
GRANT CREATE SESSION TO ZABBIX;
GRANT SELECT ANY DICTIONARY TO ZABBIX;
GRANT UNLIMITED TABLESPACE TO ZABBIX;
GRANT SELECT ANY DICTIONARY TO ZABBIX;
6.配置Oracle监控
通过odbc来获取oracle监控数据,所以下面的部分在zabbix server上面配置
安装Oracle-instantclient
#以下所有操作使用root账号执行
#创建目录
mkdir -p /opt/oracle
cd /opt/oracle#下载odbc安装包
wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-basic-21.3.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-sqlplus-21.3.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-devel-21.3.0.0.0-1.x86_64.rpm
wget https://download.oracle.com/otn_software/linux/instantclient/213000/oracle-instantclient-odbc-21.3.0.0.0-1.x86_64.rpm#安装unixODBC和unixODBC-devel
yum -y install unixODBC unixODBC-devel#安装oracle-instantclient
yum -y localinstall oracle-instantclient-*#oracle-instantclient的安装位置如下
/usr/lib/oracle/21/client64
/usr/share/oracle/21/client64
/usr/include/oracle/21/client64
环境变量配置
vi /etc/profile
#在文本中添加以下代码
----------------
export ORACLE_HOME=/usr/lib/oracle/21/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib64:$LD_LIBRARY_PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
----------------
#保存后适用新的环境变量
source /etc/profile
#配置类库
chmod +x /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
cd /usr/lib64
ln -s libodbcinst.so.2.0.0 libodbcinst.so.1
添加Oracle驱动
vi /etc/odbcinst.ini
#在文本中添加以下代码
----------------
[Oracle]
Description = ODBC for Oracle
Driver = /usr/lib/oracle/21/client64/lib/libsqora.so.21.1
----------------
添加ODBC DSN
vi /etc/odbc.ini
# 配置示例
[helowin]
Driver = Oracle #刚才添加的驱动名称
ServerName = 192.168.5.102:1521/helowin #ip:port/sid
UserID = zabbix
Password = zabbix[MESDB02]
Driver = Oracle
ServerName = 10.255.32.99:1521/orcl
#ServerName = TNS中的TNSNAME 适用这种情况时虽然isql可以连接,但是zabbix agent将无法处理
#TNS 需在$ORACLE_HOME/network/admin目录中创建tnsnames.ora文件# mkdir -p $ORACLE_HOME/network/admin/
# vi $ORACLE_HOME/network/admin/tnsnames.ora
test=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.5.102)(PORT = PORT))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = helowin) ))
检查数据库连接
必须确保此处连接成功才可进行下一步操作
# isql -v helowin
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> select * from dual;
+------+
| DUMMY|
+------+
| X |
+------+
SQLRowCount returns -1
1 rows fetched
SQL> quit
#显示Connected!说明连接成功
ZabbixServer主机配置
创建oracle主机

我的版本找不到 模板Oracle by ODBC ,所以手工导入模板。
模板下载地址: https://share.zabbix.com/templates/databases-oracle-template-oracle-db/#body
选择"配置"->“模板”->“导入模板”

导入完成

主机选择模板

设置主机所用模板的变量,{$DSN}设置为 odbc.ini中[helowin]

查看最新数据
监测->最新数据,选择创建的主机

刚配置完,要等5分钟,看有没有最新数据。如果没有数据,我们就需要回到配置,查看监控项的状态,在信息里面会有提示,错误原因。


Item 如果有问题,会默认禁用,如果我们要监控,就启用,并查看错误是什么。
配置聚合图形
监测-> 聚合图形->创建聚合图形


7.Grafana展示zabbix监控数据
安装grafana
# officer site: https://grafana.com/docs/grafana/latest/installation/rpm/#install-manually-with-yum
# localhost:3000
# install grafana repository
echo '[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt' > /etc/yum.repos.d/grafana_oss.reporpm --import https://packages.grafana.com/gpg.key#install grafana
# yum -y install grafana
只下载安装包
# yum -y install grafana --downloadonly --downloaddir=/tmp# systemctl daemon-reload
# systemctl enable grafana-server
# systemctl start grafana-server查看进程
# ps -ef |grep grafana
查看端口
# netstat -plnt |grep 3000
直接访问IP:3000即可访问
http://192.168.5.101:3000/login
默认账号密码都是admin直接登陆admin密码改为 grafana
安装zabbix插件
# grafana-cli plugins install alexanderzobnin-zabbix-app #安装zabbix插件# systemctl restart grafana-server #重启Grafana插件下载地址
https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app/?tab=installationyou can manually download the .zip file and unpack it into your grafana plugins directory.
https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/4.2.10/download
登录web激活插件



激活之后,界面

grafana添加数据源


配置zabbix数据源
配置数据源选项,要注意Url部分,如果你的Zabbix访问路径为http://192.168.5.101,那么Url就填写http://192.168.5.101/zabbix/api_jsonrpc.php;Zabbbix API details部分就填写Zabbix的账号密码。

最后"Save & Test"
dashboard模板导入
官网模板: https://grafana.com/grafana/dashboards

zabbix的模板ID为 5363


dashboard效果

5456模板效果

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
