Centos 7下通过zabbix监控nfs client的读写性能

操作环境


Centos 7.2

zabbix 3.2

nfs v4

zabbix-server:10.10.200.193

zabbix-agent:10.10.200.227(nfs-client)


我们通过zabbix对10.10.200.227nfs client的读写性能进行监控。

操作说明


1.在nfs-client上配置zabbix agent环境,参照 《Centos 7下搭建Zabbix监控软件》


2.查看nfs-client的目录,并查看mount信息,这个nfs client上面挂载了两个nfs server目录

[root@ovirt-host-227 ~]# df
Filesystem               1K-blocks      Used Available Use% Mounted on
/dev/mapper/centos-root   52403200  27339848  25063352  53% /
devtmpfs                   3986908         0   3986908   0% /dev
tmpfs                      3997236         0   3997236   0% /dev/shm
tmpfs                      3997236      8956   3988280   1% /run
tmpfs                      3997236         0   3997236   0% /sys/fs/cgroup
/dev/mapper/centos-home  915094976 212562560 702532416  24% /home
/dev/sda1                   508588    159696    348892  32% /boot
tmpfs                       799448         0    799448   0% /run/user/0
10.10.200.193:/home/nfs   18348032   5031936  13316096  28% /mnt
10.10.200.219:/home/nfs3  14356992   3983360   9644544  30% /nfs
[root@ovirt-host-227 ~]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=3986908k,nr_inodes=996727,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=35,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
/dev/mapper/centos-home on /home type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=799448k,mode=700)
10.10.200.193:/home/nfs on /mnt type nfs4 (rw,relatime,vers=4.0,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.10.200.227,local_lock=none,addr=10.10.200.193)
10.10.200.219:/home/nfs3 on /nfs type nfs4 (rw,relatime,vers=4.0,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=10.10.200.227,local_lock=none,addr=10.10.200.219)

查看到以上信息后,我们编写以下脚本,在nfs-client上自动获取nfs server的ip地址

[root@ovirt-host-227 ~]# vi /etc/zabbix/zabbix_agentd.d/nfs-find.sh 
#!/bin/bash
nfsarray=(`cat /proc/net/nfsfs/servers | sed -n '2,$p' | awk '{print $5}'|sort|uniq   2>/dev/null`)
length=${#nfsarray[@]}
printf "{\n"
printf  '\t'"\"data\":["
for ((i=0;i<$length;i++))
do
         printf '\n\t\t{'
         printf "\"{#NFS_SERVER}\":\"${nfsarray[$i]}\"}"
         if [ $i -lt $[$length-1] ];then
                 printf ','
         fi
done
printf  "\n\t]\n"
printf "}\n"

授权后,运行进行测试

[root@ovirt-host-227 ~]# /etc/zabbix/zabbix_agentd.d/nfs-find.sh 
{
        "data":[
                {"{#NFS_SERVER}":"10.10.200.193"},
                {"{#NFS_SERVER}":"10.10.200.219"}
        ]
}

完成自动发现nfs-server后,我们通过nfsiostat进行监控nfs-client的nfs读写性能

[root@ovirt-host-227 ~]# nfsiostat 1

10.10.200.193:/home/nfs mounted on /mnt:

   op/s         rpc bklog
   8.96    0.00
read:            ops/s             kB/s           kB/op         retrans         avg RTT (ms)    avg exe (ms)
                  0.124  30.649 248.164       0 (0.0%)   66.803  66.836
write:           ops/s             kB/s           kB/op         retrans         avg RTT (ms)    avg exe (ms)
                  8.663 2153.044        248.537       0 (0.0%)   62.286 8964.707

10.10.200.219:/home/nfs3 mounted on /nfs:

   op/s         rpc bklog
   0.02    0.00
read:            ops/s             kB/s           kB/op         retrans         avg RTT (ms)    avg exe (ms)
                  0.000   0.000   0.000       0 (0.0%)    0.000   0.000
write:           ops/s             kB/s           kB/op         retrans         avg RTT (ms)    avg exe (ms)
                  0.000   0.000   0.000       0 (0.0%)    0.000   0.000


并将显示信息写入文本

#nfsiostat 1 >> /tmp/nfsper &

添加以下内容至zabbix-agentd.conf配置文件中

UserParameter=nfs.server[*],/etc/zabbix/zabbix_agentd.d/nfs-find.sh $1
UserParameter=nfs.readKBps[*],/usr/bin/tail -18 /tmp/nfsper | grep -A 8 "\b$1\b"|tail -l| awk '{print $$2}' | sed -n '6,1p'
UserParameter=nfs.writeKBps[*],/usr/bin/tail -18 /tmp/nfsper | grep -A 8 "\b$1\b"|tail -l| awk '{print $$2}' | sed -n '8,1p'

重启zabbix-agent

#systemctl restart zabbix-agent


上述步骤完成了在zabbix-agent端的操作


3.在zabbix-server端通过zabbix_get测试是否能获取到nfs-client中定义的参数值

[root@centos7-zabbix-193 home]# zabbix_get -s 10.10.200.227 -k nfs.readKBps[10.10.200.193]                       
0.000
[root@centos7-zabbix-193 home]# zabbix_get -s 10.10.200.227 -k nfs.writeKBps[10.10.200.193]                      
0.000
[root@centos7-zabbix-193 home]# zabbix_get -s 10.10.200.227 -k nfs.server
{
        "data":[
                {"{#NFS_SERVER}":"10.10.200.193"},
                {"{#NFS_SERVER}":"10.10.200.219"}
        ]
}

在zabbix-server端可以正确的获取数值

4.在zabbix web console端创建template NFS CLIENT PERFORMANCE 




创建discovery rule





分别创建读写性能的item prototype



创建graph prototype



通过以上步骤就完成了创建Template的步骤,将该Template 添加至Host nfs-client中



添加Template后,查看该host的item



查看graph



点击查看graph



通过以上操作就完成了通过zabbix监控nfs client的全部操作
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是 CentOS 7 安装 Zabbix 并实现监控的步骤: 1. 安装 Zabbix Server 首先,我们需要安装 Zabbix Server。可以使用以下命令: ``` sudo rpm -ivh https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm sudo yum install zabbix-server-mysql zabbix-web-mysql -y ``` 2. 配置 Zabbix Server 数据库 安装完成后,需要配置 Zabbix Server 数据库。使用以下命令进入数据库: ``` sudo mysql -uroot -p ``` 然后创建一个新的数据库和用户,并授权: ``` CREATE DATABASE zabbixdb character set utf8 collate utf8_bin; CREATE USER 'zabbixuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON zabbixdb.* TO 'zabbixuser'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; quit ``` 接下来,我们需要导入 Zabbix Server 的初始数据。使用以下命令: ``` sudo zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | sudo mysql -uzabbixuser -p zabbixdb ``` 3. 配置 Zabbix Server 接下来,打开 Zabbix Server 的配置文件 `/etc/zabbix/zabbix_server.conf`,找到以下行: ``` # DBPassword= ``` 去掉注释并设置数据库密码: ``` DBPassword=password ``` 保存并退出。 4. 安装 Zabbix Agent 接下来,我们需要安装 Zabbix Agent。使用以下命令: ``` sudo yum install zabbix-agent -y ``` 5. 配置 Zabbix Agent 打开 Zabbix Agent 的配置文件 `/etc/zabbix/zabbix_agentd.conf`,找到以下行: ``` # Server= # ServerActive= # Hostname= ``` 去掉注释并设置以下参数: ``` Server=127.0.0.1 ServerActive=127.0.0.1 Hostname=zabbix_agent ``` 保存并退出。 6. 启动 Zabbix Server 和 Agent 使用以下命令启动 Zabbix Server 和 Agent: ``` sudo systemctl start zabbix-server zabbix-agent sudo systemctl enable zabbix-server zabbix-agent ``` 7. 配置防火墙 如果您的服务器启用了防火墙,需要开放以下端口: ``` sudo firewall-cmd --add-port=10050/tcp --permanent sudo firewall-cmd --add-port=10051/tcp --permanent sudo firewall-cmd --reload ``` 8. 访问 Zabbix Web 界面 现在,您可以访问 Zabbix Web 界面。在浏览器中输入 `http://<your-server-ip>/zabbix`,然后按照界面提示进行安装和配置。 9. 配置监控Zabbix Web 界面中,您可以添加主机和监控项。在“Configuration”菜单下,可以添加主机并配置监控项。例如,可以添加 CPU 使用率、内存使用率、磁盘空间等监控项。 以上就是 CentOS 7 安装 Zabbix 并实现监控的步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值