zabbix安装&odbc监控oracle&grafana数据展示

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-utils
 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
 
#部署docker
 sudo 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_11g

os root密码为: helowin
数据库名: helowin

启动容器

docker start oracle11g

进入镜像配置

docker exec -it oracle11g bash

oracle用户的配置

切换到oracle 用户
su - oracle

oracle数据库的操作
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.repo

rpm --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=installation

you 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模板效果
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
要在Zabbix监控Oracle数据库中的表数据,可以使用Zabbix数据监控功能结合Oracle的特定监控方法。以下是一个简单的步骤指南: 1. 确保已经安装和配置了Zabbix服务器和Zabbix代理。 2. 在Zabbix服务器上创建一个新的模板,用于监控Oracle数据库。在模板中,可以定义触发器、图表和报警等。 3. 在Zabbix服务器上创建一个新的主机,对应于要监控Oracle数据库实例。为主机配置IP地址和其他必要的参数。 4. 在Zabbix代理配置文件中添加数据监控参数。编辑zabbix_agentd.conf文件,添加以下内容: ``` UserParameter=oracle.tablespace.discovery,/path/to/script UserParameter=oracle.tablespace.size[*],/path/to/script $1 $2 ``` 5. 创建一个用于获取表数据的脚本。可以使用Python、Shell脚本或其他适当的工具来编写脚本。该脚本应该能够连接到Oracle数据库并获取表数据。 6. 将脚本放置在Zabbix代理所在主机上,并确保脚本具有执行权限。 7. 在Zabbix服务器上导入模板,并将其关联到Oracle数据库的主机。 8. 在触发器中定义阈值和触发条件,以便在表数据达到特定阈值时触发警报。 9. 配置图表以显示表数据的趋势和变化。 10. 测试监控功能,确保Zabbix能够成功获取和显示表数据,并在需要时触发警报。 请注意,上述步骤只是一个简单的指南,具体的配置和实施可能因系统环境和要求而有所不同。建议参考ZabbixOracle的官方文档以获取更详细的信息和指导。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮JasonLong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值