• 部署zabbix3.2.7,升级到3.4、proxy部署


    一、Server安装

    可以使用mysql、percona、mariadb等,本例使用mariadb。由于是事后整理,只截取部分命令。

    #yum install mariadb-server mariadb    ----安装数据库
    配置zabbix源,[可选]
    yum install -y http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

    yum -y install ./zabbix-server-mysql-3.2.7-1.el7.x86_64.rpm zabbix-get-3.2.7-1.el7.x86_64.rpm
    或者:通过下列方法下载所需的zabbix rpm包
    #mkdir zabbix3.2.7
    #cd zabbix3.2.7/

    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.7-1.el7.x86_64.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.7-1.el7.x86_64.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-java-gateway-3.2.7-1.el7.x86_64.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-proxy-mysql-3.2.7-1.el7.x86_64.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-proxy-pgsql-3.2.7-1.el7.x86_64.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-proxy-sqlite3-3.2.7-1.el7.x86_64.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-sender-3.2.7-1.el7.x86_64.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-server-mysql-3.2.7-1.el7.x86_64.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-server-pgsql-3.2.7-1.el7.x86_64.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-3.2.7-1.el7.noarch.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-japanese-3.2.7-1.el7.noarch.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-mysql-3.2.7-1.el7.noarch.rpm
    wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-pgsql-3.2.7-1.el7.noarch.rpm

     #systemctl start mariadb.service   ---启动mariadb

      #systemctl enable mariadb

      MariaDB [(none)]> SET password for 'root'@'localhost'=password('newpassword');

      MariaDB [(none)]> CREATE DATABASE zabbix CHARSET 'utf8';   //创建zabbix数据库

      MariaDB [(none)]> GRANT ALL ON zabbix.* TO 'zbxuser'@'10.1.%.%' IDENTIFIED BY 'zbxpass'; //授权zbxuser用户从10.0.255.255广播地址登录zabbix数据库

      MariaDB [(none)]> GRANT ALL ON zabbix.* TO 'zbxuser'@'localhost' IDENTIFIED BY 'zbxpass'; //授权zbxuser用户从localhost广播地址登录zabbix数据库

    MariaDB [(none)]> flush privileges;    //刷新权限 

    MariaDB [(none)]> exit;

    yum -y localinstall ./zabbix-server-mysql-3.2.7-1.el7.x86_64.rpm 

    ... ---安装需要的其它包

    # zcat /usr/share/doc/zabbix-server-mysql-3.2.7/create.sql.gz | mysql -uzbxuser -p1 zabbix

    安装一些需要的工具:

    #yum install -y epel-release
    #yum install -y iksemel fping libiksemel
    #yum install -y libiksemel

     yum install vim -y

    vim /etc/zabbix/zabbix_server.conf 

     #vim /etc/zabbix/zabbix_server.conf

     yum install httpd php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml

     systemctl start httpd

     systemctl stop firewalld

     vim /etc/selinux/config

     setenforce 0

     [root@bogon ~]# systemctl start zabbix-server
     [root@bogon ~]# systemctl restart zabbix-server

    [root@ora-test zabbix]# cat /etc/zabbix/zabbix_agentd.conf | grep -v '#'

      

    PidFile=/var/run/zabbix/zabbix_agentd.pid
    LogFile=/var/log/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=192.168.56.103
    ServerActive=127.0.0.1
    Hostname=Zabbix server
    Include=/etc/zabbix/zabbix_agentd.d/*.conf
    UnsafeUserParaters=1 #要打开此值才能自定编写默认不配置,即没打开

    agent成功安装方法6.5

    yum -y install http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm
    yum install zabbix-agent -y

    其它记录:

    修改配置文件
    sed -i 's/Server=127.0.0.1/Server=172.16.8.100/' /etc/zabbix/zabbix_agentd.conf
    grep -n '^Server=' /etc/zabbix/zabbix_agentd.conf 
    /etc/init.d/zabbix-agent start
    chkconfig zabbix-agent on
     zabbix3.2中文显示乱码的问题,
    可以参考http://blog.csdn.net/xiegh2014/article/details/52038536

    [root@qas-zabbix include]# pwd
    /var/www/html/zabbix/include
    [root@qas-zabbix include]# vi defines.inc.php
    #修改第93行
    define('ZBX_FONT_NAME','msyh');
    #修改第45行改为
    define('ZBX_GRAPH_FONT_NAME','msyh')

    [root@bogon core]# zabbix_get -s 192.168.56.102 -p 10050 -k "system.uptime"
    1899

    常用zabbix_get命令保存:

    常用命令
    zabbix_get
    -s:zabbix agent的IP或主机名
    -p:agent端口
    -I:本机出去的IP,多网卡环境
    -k
    /usr/bin/zabbix_get -s 192.168.56.101 -k system.uname
    [root@localhost zabbix]# zabbix_get -s 127.0.0.1 -k net.if.in[enp0s8,bytes]
    [root@localhost zabbix]# zabbix_get -s 127.0.0.1 -k net.if.in[enp0s8,packets]
    42865

    cd zabbix_agentd.d
    [root@ora-test zabbix_agentd.d]# more userparameter_mysql.conf | grep -v '#'
    UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'

    
    

    UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema="$1"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name="$2"");" | HOME=/var/lib/zabbix mysql -N'

    
    

    UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
    UserParameter=mysql.version,mysql -V

     

    windows客户端安装

    windows 客户机安装
    修改配置文件服务器地址和计算机名。
    C:zabbix_agentsinwin64zabbix_agentd.exe  -c C:zabbix_agentsconfzabbix_agentd.conf -i
    C:zabbixzabbix_agents_3.0.0.wininwin64zabbix_agentd.exe -c C:zabbixzabbix_agents_3.0.0.winconfzabbix_agentd.win.conf -i
    C:zabbixzabbix_agents_3.0.0.wininwin64zabbix_agentd.exe -c C:zabbixzabbix_agents_3.0.0.winconfzabbix_agentd.win.conf -s
    C:zabbix_agentsinwin64zabbix_agentd.exe -c C:zabbix_agentsconfzabbix_agentd.conf -s

    客户端常用命令:

    配置命令
    c:zabbixinwin32zabbix_agentd -c C:zabbixconfzabbix_agentd.win.conf -i
    -c :指定配置文件所有位置
    -i :安装客户端
    -s :启动客户端
    -x :停止客户端
    -d :卸载客户端
    关于主机名:如果zabbix_agentd.conf配置有定义Hostname,那么zabbix会使用这个Hostname命名,否则agent的主机名(hostname得来的)
    修改metadataitem

    cat /usr/local/zabbix-2.2.1/etc/zabbix_agentd.conf | grep HostMetadataItem=
    HostMetadataItem=system.uname
    cat /usr/local/zabbix-2.2.1/etc/zabbix_agentd.conf | grep HostMetadataItem=
    HostMetadataItem=system.uname

    安装zabbix-manager
    [root@localhost zabbix]# yum install git
    [root@localhost zabbix]# git clone https://github.com/BillWang139967/zabbix_manager.git
    Cloning into 'zabbix_manager'...
    remote: Counting objects: 523, done.
    remote: Total 523 (delta 0), reused 0 (delta 0), pack-reused 523
    Receiving objects: 100% (523/523), 940.52 KiB | 159.00 KiB/s, done.
    Resolving deltas: 100% (274/274), done.
    [root@localhost zabbix]# pwd
    /var/log/zabbix

    grep -v "#" /etc/zabbix/zabbix_server.conf > config.bak

    要建备份,执行:

    sudo mysqldump zabbix | bzip2 -9 > dbdump.bz2 在您可以将文件dbdump.bz2到另一台机器 要想从备份中进行恢复,将其传输到设备上并执行行 bzcat dbdump.bz2 | sudo mysql zabbix <note important>确保恢复过程中zabbix server停止运行

    配置接收通知:
    接收通知的人,至少有组的Read权限1.建media,2.建用户及对应media,3.在action中增加对应用户,并设置相应media。

    查看zabbix数据大小

    select table_name,(data_length+index_length)/1024/1024 as total_mb,table_rows from information_schema.tables where table_schema='zabbix';
    select * from zabbix.items

    proxy安装

    Proxy 部署:
    # cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.ori

    #wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
    # rpm -qa | grep mariadb

     # yum remove mariadb-libs

    
    安装数据库

     # yum install mariadb-server mairadb

    安装完成MariaDB,首先启动MariaDB

    systemctl start mariadb

    设置开机启动

    systemctl enable mariadb

    接下来进行MariaDB的相关简单配置

    mysql_secure_installation

    首先是设置密码,会提示先输入密码

    Enter current password for root (enter for none):<–初次运行直接回车

    设置密码

    Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
    New password: <– 设置root用户的密码
    Re-enter new password: <– 再输入一次你设置的密码

    其他配置

    Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车

    Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车,

    Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车

    Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车

    初始化MariaDB完成,接下来测试登录

    mysql -uroot -ppassword

    完成。

    yum install -y http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm  此次用的3.4.1 yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
    yum install -y zabbix-proxy zabbix-proxy-mysql zabbix-agent
    [root@BJ01ZABBIX01 ~]# yum install zabbix-proxy-3.4.1-1 zabbix-proxy-mysql-3.4.1 zabbix-agent-3.4.1 --指定版本 mysql
    -uroot -p -e "create database zabbix_proxy character set utf8 collate utf8_bin;" mysql -uroot -p -e "grant all on zabbix_proxy.* to zabbix@localhost identified by '1';" cd /usr/share/doc/zabbix-proxy-mysql-3.4.4/ gunzip < schema.sql.gz | mysql -uroot -p1 zabbix_proxy or zcat schema.sql.gz | mysql -uroot -p zabbix_proxy mysql -uroot -p1 -e"flush privileges;" cd /etc/zabbix/ cp zabbix_proxy.conf zabbix_proxy.conf.ori vi zabbix_proxy.conf ProxyMode=0 Server=192.168.73.231 zabbix-server端地址 ServerPort=10051 Hostname=Zabbix proxy #特别注意该名称具有唯一性,和web页面配置中"Proxy name”对应,每个zabbix-proxy都应该具有唯一名称。 LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid DBHost=localhost DBName=zabbix_proxy DBUser=zabbix DBPassword=zabbix DBSocket=/var/lib/mysql/mysql.sock ConfigFrequency=60 #zabbix proxy 向服务器检索配置数据信息的频率,在被动模式下该参数将被忽略 DataSenderFrequency=600 #server和proxy配置修改同步时间间隔,设定5-10分钟即可。 ExternalScripts=/usr/lib/zabbix/externalscripts vi zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.73.231 zabbix-server地址 ServerActive=192.168.73.231 zabbix-server地址 Hostname=zabbix-proxy hostname名 Include=/etc/zabbix/zabbix_agentd.d/

     zabbix中常用到的几个key:

    1、监控端口的:net.tcp.port[,3306]
    /usr/local/zabbix/bin/ -s192.168.8.120 -knet.tcp.port[,3306] 返回1为192.168.8.120的端口3306存在,0为不存在
    
    2、监控进程的:proc.num[mysqld]
    /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[mysqld] 返回值为192.168.8.120中mysqld的进程数量
    
    /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[] 返回值为192.168.8.120中所有的进程数量
    
    3、查看CPU核数的:system.cpu.num 返回值为服务器CPU的核数
    
    4、查看系统的系统启动时间和当前时间:system.boottime、system.localtime 返回值为系统启动时间和当前时间,为时间戳格式
    
    5、查看系统的简单信息:system.uname 返回值为192.168.8.120的系统信息,类似于linux系统的uname -a命令
    
    6、查看windowns系统当前网卡的进出流量:net.if.out[{HOST.NAME},bytes]、net.if.in[{HOST.NAME},bytes]和linux系统的key:net.if.out[eth0,bytes]、net.if.in[eth0,bytes]一样
    /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.in[192.168.8.120,bytes] 返回值为IP为192.168.8.120的进流量,此值为计数值,单位为bytes,减去上次取得值,除以时间间隔为此段时间内的平均流量
    
    /usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.out[192.168.8.120,bytes] 返回值为IP为192.168.8.120的出流量,此值为计数值,单位为bytes,减去上次取得值,除以时间间隔为此段时间内的平均流量
    
    7、查看系统内存大小:vm.memory.size[total],返回值单位bytes
    
    8、查看文件的大小: vfs.file.size[file] 如: vfs.file.size[/var/log/syslog] 返回的是/var/log/syslog的大小,单位是:bytes
    
    9、查看文件是否存在:vfs.file.exists[file] 文件如果存在返回0,不存在返回1
    
    10、查看文件的MD5:vfs.file.md5sum[file]查看小文件的MD5,返回为MD5值(好像只有2.0以上的版本有这个key)
    
    11、自动发现网卡并监控流量和自动发现分区及分区挂载情况的两个key:net.if.discovery,vfs.fs.discovery,windows和linux监控模板中都有这模板(2.0以上版本),应用即可
    
    以上是常用的key,其实监控服务器无非就是内存、硬盘占用、CPU负载、流量、服务器和端口等情况。如果要监控其他的可以自定义key来实现,本人喜欢自定义key,写个脚本来返回,得到自己想要的监控结果,zabbix在这块做的非常好,扩展性很强,支持各种脚本来实现自定义的key。
    
    要启用自定义key,需要在客户端的配置文件中启用UnsafeUserParameters=1参数,然后在配置文件的最下面来定义key,如:
    UserParameter=free.disk,/usr/local/zabbix/bin/disk.py
    free.disk为key的名字,/usr/local/zabbix/bin/disk.py为服务器端调用free.disk这个key时执行的脚本,其结果就是free.disk的返回值。脚本可以是任何可以运行的脚本语言。
    
    注意:脚本要用绝对路径,注意脚本的权限,写的脚本返回值要尽量简单,这样方便设置报警值。
  • 相关阅读:
    基于阿里云GPU云服务器的AIACC助力UC搜索业务性能提效380%,每年节省数千万成本
    如何在 ACK 中使用 MSE Ingress
    面向对象分析与设计的底层逻辑
    当 AI 邂逅绘画艺术,能迸发出怎样的火花?
    是什么让一段20行代码的性能提升了10倍
    我,PolarDB云原生数据库,5年来实现这些重磅技术创新
    一图看懂天河文链如何实现云原生架构升级
    首次全面解析云原生成熟度模型:解决企业「诊断难、规划难、选型难」问题
    C++快速初始化vector
    Grid布局指定列数时,行高自适应为元素高度
  • 原文地址:https://www.cnblogs.com/ld1977/p/7906605.html
Copyright © 2020-2023  润新知