zabbix3.0部署及使用

zabbix3.0部署及使用

1 确保网络配置正确,关闭防火墙、selinux.

Firewall(关闭防火墙):
systemctl stop firewalld
systemctl disable firewalld
setenforce 0

Selinux:
vi /etc/sysconfig/selinux
~ # This file controls the state of SELinux on the system.
~ # SELINUX= can take one of these three values:
~ # enforcing - SELinux security policy is enforced.
~ # permissive - SELinux prints warnings instead of enforcing.
~ # disabled - No SELinux policy is loaded.
~ SELINUX=disabled (修改)
~ # SELINUXTYPE= can take one of these two values:
~ # targeted - Targeted processes are protected,
~ # mls - Multi Level Security protection.
~ SELINUXTYPE=targeted

2 搭建LNMP环境
依赖环境
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl dejavu-sans-fonts curl-devel e2fsprogs e2fsprogs-devel krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers gmp-devel mysql-devel net-snmp-devel perl-DBI libxml libxml-devel gd-devel httpd-manual mod_ssl mod_perl mod_auth_mysql mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel wget fping ODBC

安装php
配置php的yum源(centos7)
yum install epel-release
yum install epel-release rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

安装PHP 5.6
yum install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-fpm

yum -y install --enablerepo=remi --enablerepo=remi-php56 php php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-gd php-mysql php-bcmath php-mbstring php-xml php-ldap

vi /etc/php.ini
修改
date.timezone = PRC
post_max_size=16m
max_execution_time=300
max_input_time=300
always_populate_raw_post_data 去掉注释

Nginx安装及配置
yum install nginx
vi /etc/nginx/cong.d/defualt.conf

server {
listen 80;
server_name zabbix.zhijiaomofang.com;
charset utf-8;
#access_log /var/log/nginx/log/host.access.log main;
root /usr/share/zabbix;
index index.php index.htm index.html;
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html

location / {
    try_files $uri $uri/ /index.php;
      location ~\.php$ {
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_param  SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
        include        fastcgi_params;
        client_max_body_size 30m;
    }
}

}

安装mysql,修改密码.

点击访问帮助文档。 点击获取mysql的最新repo源,当前为:mysql57-community-release-el7-11.noarch.rpm 下载mysql57-community-release-el7-11.noarch.rpm

rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
安装
yum install mysql-community-server
sudo service mysqld start
sudo grep ‘temporary passw\qord’ /var/log/mysqld.log
mysql -u root -p
输入查找到的临时密码进入MySQL命令行,修改密码
MySQL>ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘aA123456!’;
MySQL>exit;
设置编码
vi /etc/my.cnf
在末尾添加
character-set-server=utf8
保存退出后,重启MySQL服务
service mysqld restart
可以重新进入MySQL命令行使用如下命令验证编码
MySQL>show variables like ‘%character%’;

3 zabbix部署
mysql创建zabbix库且创建zabbix用到的用户

~]# mysql -uroot -p # root用户登录
MariaDB [(none)]> CREATE DATABASE zabbix CHARSET ‘utf8’;
#创建zabbix库,默认字符集为utf8
MariaDB [(none)]> GRANT ALL ON zabbix.* TO zbxuser@‘127.0.0.1’ IDENTIFIED BY ‘zbxpass’;
MariaDB [(none)]> GRANT ALL ON zabbix.* TO zbxuser@‘localhost’ IDENTIFIED BY ‘zbxpass’;
# zbxuser可以从本机登录,密码为zbxpass,对zabbix拥有所有权限
MariaDB [(none)]> GRANT ALL ON zabbix.* TO zbxuser@‘10.10.10.%’ IDENTIFIED BY ‘zbxpass’;
# zbxuser可以从10.10.10.0网段登录,密码为zbxpass,对zabbix拥有所有权限
MariaDB [(none)]> flush privileges; # 刷新权限

Zabbix Server安装

1.安装zabbix-server 及所需的mysql组件、zabbix-agent
#rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
#yum install zabbix-server-mysql zabbix-web-mysql zabbix-get -y
#yum install zabbix-agent zabbix-sender -y

2zabbix server初始化

注意:在zabbix3.x版本只有一个sql脚本,2.x有三个sql脚本
该过程是执行zabbix官方提供的sql脚本,自动创建zabbix需要的表结构,过程如下:

~]# cd /usr/share/doc/zabbix-server-mysql-3.0.14/
~]# gzip -d create.sql.gz
~]# mysql -h127.0.0.1 -uzbxuser -p zabbix < create.sql
~]# mysql -uroot -p # 登录上mysql查看有没有创建成功
MariaDB [zabbix]> use zabbix
MariaDB [zabbix]> show tables;

3配置zabbix
修改标红的4项 其他为默认值
#vi /etc/zabbix/zabbix-server.conf

[root@test ~]# grep -v ‘^#’ /etc/zabbix/zabbix_server.conf | grep -v ‘^$’
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
StartPollers=10
StartPollersUnreachable=5
StartTrappers=5
StartPingers=1
StartDiscoverers=1
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
HousekeepingFrequency=1
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000

确保nginx php zabbix-server 服务启动,

访问ip:端口
如果不行可以到职教魔方的源上下载nginx
在这里插入图片描述

终于成功了,累死我了.
按照安装步骤操作就行了.
安装向导会进行环境监测,有问题逐一解决.填写数据库连接信息.
在这里插入图片描述
在这里插入图片描述
Finish之后进入登录界面,默认的用户名:admin 密码:zabbix

登录后 英文界面 需要修改一下语言,点击下图右上角的头像,选择中文即可.
在这里插入图片描述
以上,已完成服务端部署流程.
 Zabbix agent安装

Linux部署步骤:
1 安装zabbix-agent客户端软件:
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

Yum install zabbix-agent
2 配置zabbix-agent :
安装后通常在/etc/zabbix/里找到zabbix_agentd.conf文件,编辑这个文件如下:

Server=xxx.xxx.xxx.xxx #填写server端地址这里
ServerActive=xxx.xxx.xxx.xx #填写server端地址
Hostname=xxx.xxx.xxx.xx #填写hostname名称,与server端配置添加主机项名字一致
以上是几个主要项目:
注意配置项目
StartAgent=xx #0代表不处理server主机请求这在配置内网客户机是有用,一般配1-3
Listenport=10050 #客户机监听端口
3 启用zabbix-agent服务:
service zabbix-agent start
systemctl enable zabbix-agent #开机启动

Windows部署步骤:
1 官网下载压缩包zabbix-agent3.2.6版本,解压。
2 在c盘建文件夹zabbix,把解压的文件复制到zabbix文件夹。
3 打开conf文件夹下zabbix_agentd.win.conf文件
4 配置conf文件:
Server=xxx.xxx.xxx.xxx #填写server端地址
ServerActive=xxx.xxx.xxx.xx #填写server端地址
Hostname=xxx.xxx.xxx.xx #填写hostname名称,与server端配置添加主机项名字一致
以上是几个主要项目:
注意配置项目
StartAgent=xx #0代表不处理server主机请求这在配置内网客户机是有用,一般配1-3
Listenport=10050 #客户机监听端口
与linux一致
5 在dos命令下进入c:/zabbix ,键入命令
zabbix_agentd.exe -c .\conf\zabbix_agentd.win.conf –i
zabbix_agentd.exe -c .\conf\zabbix_agentd.win.conf –s 启服务
6 在运行里键入services.msc打开服务配置栏,右键控制启停服务
在这里插入图片描述

登录web端添加主机:
此处分为两种模式:
1服务器未开放外网端口,不可以访问,但可以上网.这种情况为主动模式(active)
2 服务器可以访问.区分于主动模式,此处我们称为被动模式.
按照下图步骤添加主机
在这里插入图片描述
填写如下内容
主机名称为zabbix-agent.conf 中填写的 Hostname
可见主机名称为在WEB端显示的名称,根据实际情况填写即可.
被动模式时,IP为被监控服务器的IP 端口为10050
主动模式时,ip为0.0.0.0 端口为0
在这里插入图片描述
添加模板
被动模式:
在这里插入图片描述
以下模板第一个必选,后两个根据实际的系统选择即可.主要对服务器的基本性能进行监控.
在这里插入图片描述
如果监控不到,可以看下10050端口是否已经被监听,无法被监听可以卸载zabbix-agent 重新找个rpm文件安装
主动模式没有模板,先手动添加模板.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将监控项的类型改为主动模式,一个一个的改,然后保存.
在这里插入图片描述
主动模式在添加主机时使用主动模板就可以了.
Zabbix主动模式,监控zabbix

利用zabbix-sender 发送K/V值到server端

zabbix_sender命令
-c --config 配置文件绝对路径
-z --zabbix-server zabbix server的IP地址
-p --port zabbix server端口.默认10051
-s --host 主机名,zabbix里面配置的主机名(不是服务器的hostname),不能使用ip地址
-I --source-address 源IP
-k --key 监控项的key
-o --value key值
-i --input-file 从文件里面读取hostname、key、value 一行为一条数据,使用空格作为分隔符,如果主机名带空格,那么请使用双引号包起来
-T --with-timestamps 一行一条数据,空格作为分隔符: ,配合 --input-file option,timestamp为unix时间戳
-r --real-time 将数据实时提交给服务器
-v --verbose 详细模式, -vv 更详细

实际使用的命令为:
#zabbix_sender -c /etc/zabbix/zabbix_agentd.conf
-i /usr/share/doc/zabbix-agent-3.0.8/script/dsideal/senderfile

此处发送senderfile文件中的内容,需要将nginx的运行状态写入的文件中.

python脚本内容如下:

#!/usr/bin/python
author=“lemon”
#--coding:utf-8--

import os
netstat=os.system(“netstat -ntpl|grep nginx”)
Hostname=‘ningpengchao’
if netstat==0:
ngx_stu=1

else:
ngx_stu=0

f = open(‘senderfile’,‘w’)
f.write(str(Hostname))
f.write(" “)
f.write(“nginxstatus”)
f.write(” ")
f.write(str(ngx_stu))

f.close()
os.system(“zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -i /usr/share/doc/zabbix-agent-3.0.8/script/dsideal/senderfile”)

编写shell脚本,调用python文件,并在计划任务中定时执行shell脚本.
Shell文件内容:
#!/usr/bin/bash
#author:lemon
cd /usr/share/doc/zabbix-agent-3.0.8/script/dsideal
/usr/bin/python test.py

#crontab -e
加入如下内容:

          • sh /usr/share/doc/zabbix-agent-3.0.8/script/dsideal/test.sh

Web端
1 在模板中添加相应的监控项(ngx_stu)
在这里插入图片描述
2 类型选择zabbix采集器(zabbix trapper) key值为文件中添加的key值
在这里插入图片描述
3 添加触发器
在这里插入图片描述
4 发送回来的 value值
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值