Zabbix-2·部署安装使用

一、Zabbix安装部署思路:

想要实现实施监控要解决的几个方面:
  • 数据采集:
    可以使用agent(安装在被控端的软件)或者SNMP(简单网络管理协议,用于网络设备的数据采集)
  • 数据存储:
    可以使用mysql或其他数据库
  • 数据展示:
    nginx+php展示web页面

简单来说就是,zabbix通过在远程主机上安装agent进行数据采集,存储到mysql数据库,通过web页面进行展示。
Zabbix中文手册:https://www.zabbix.com/documentation/3.4/zh/manual

二、环境准备:

准备二台主机:

主机名 地址
zabbixserver 192.168.88.5/24
web1 192.168.88.100/24

PS:

  1. 关闭SELINUX和防火墙
  2. 配置yum源(系统yum)

三、部署的流程:

  1. 安装Zabbix软件
  2. 数据库创建初始化
  3. 配置并启动zabbix_server服务
  4. 配置并启动zabbix_agent服务
  5. 配置nginx+php环境
  6. 登录Zabbix网站使用

三、实现步骤

第一步:服务端安装Zabbix软件

  • 安装zabbix的依赖包
# 安装依赖
[root@zabbixserver lnmp_soft]# yum install -y net-snmp-devel curl-devel autoconf libevent-devel
  • 解压zabbix包(当前使用的版本为zabbix-3.4.4)
[root@zabbixserver ~]# cd lnmp_soft/
[root@zabbixserver lnmp_soft]# ls zabbix-3.4.4.tar.gz 
zabbix-3.4.4.tar.gz
[root@zabbixserver lnmp_soft]# tar xf zabbix-3.4.4.tar.gz 
# 进入zabbix目录
[root@zabbixserver lnmp_soft]# cd zabbix-3.4.4/
  • 开始编译安装zabbix
# 编译,zabbixserver 主机需要监控自己,所以--enable-server和--enable-agent都需要
[root@zabbixserver zabbix-3.4.4]# ./configure --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config  --with-net-snmp --with-libcurl
# 安装
[root@zabbixserver zabbix-3.4.4]# make && make install

--enable-server: 安装服务器端
--enable-agent: 安装被控端
--with-mysql: 指定mysql数据库配置程序
--with-net-snmp: 配置可以通过snmp收集数据
--with-libcurl: 启用curl库,以便zabbix可以通过curl连接web服务

第二步:数据库创建初始化

  • 创建数据库
# 创建zabbix存储数据的数据库。创建名为zabbix的数据库,使用的字符集是utf8
[root@zabbixserver ~]# mysql
MariaDB [(none)]> create database zabbix default charset utf8;
  • 创建数据库用户
# 创建名为zabbix的用户,密码也是zabbix,可以对zabbix数据库拥有全部权限。zabbix@'%'格式是:zabbix@客户端地址
# 在mysql中,%表示0到多个任意字符
MariaDB [(none)]> grant all on zabbix.* to zabbix@'%' identified by 'zabbix';
  • 授权
# 授权zabbix用户可以在本机登陆
MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
MariaDB [(none)]> exit
  • 导入表结构
# 查看zabbix的表结构
[root@zabbixserver ~]# cd lnmp_soft/zabbix-3.4.4/database/mysql/
[root@zabbixserver mysql]# ls
data.sql  images.sql  schema.sql
# -u指定用户名,-p指定密码,第3个zabbix是数据库
# 导入zabbix表结构,3个sql文件按顺序导入
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql 
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < images.sql 
[root@zabbixserver mysql]# mysql -uzabbix -pzabbix zabbix < data.sql 

第三步:配置并启动zabbix_server服务

  • 配置zabbix_server服务
# 修改zabbix_server.conf
[root@zabbixserver ~]# vim /usr/local/etc/zabbix_server.conf
12 # ListenPort=10051    # 不用改,了解端口号
38 LogFile=/tmp/zabbix_server.log   # 不用改,日志文件位置
85 DBHost=localhost      # 数据库服务器地址
95 DBName=zabbix         # 不用改,数据库名
111 DBUser=zabbix         # 不用改,连接数据库的用户
119 DBPassword=zabbix     # 连接数据库的密码
  • 创建服务用户
# 创建用于运行zabbix的用户
# -s /sbin/nologin: 用户不能登陆系统
[root@zabbixserver ~]# useradd -s /sbin/nologin zabbix
# 创建service文件
[root@zabbixserver ~]# vim /usr/lib/systemd/system/zabbix_server.service
[Unit]
Description=zabbix server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/tmp/zabbix_server.pid
ExecStart=/usr/local/sbin/zabbix_server
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target
  • 启动zabbix_server服务
# 新建service文件,一般需要执行systemctl daemon-reload,否则有可能识别不到
[root@zabbixserver ~]# systemctl daemon-reload 
# 设置开机自启动
[root@zabbixserver ~]# systemctl enable zabbix_server.service 
# 启动服务
[root@zabbixserver ~]# systemctl start zabbix_server.service 
  • 检查端口10051
# 查看端口(10051)
[root@zabbixserver ~]# ss -tlnp | grep :10051
LISTEN     0      128          *:10051

第四步:配置并启动zabbix_agent服务

  • 配置zabbix_agent服务
#配置agent,将自己被监控
[root@zabbixserver ~]# vim /usr/local/etc/zabbix_agentd.conf
30 LogFile=/tmp/zabbix_agentd.log   # 不用改,日志位置
93 Server=127.0.0.1,192.168.88.5     # 指定接受哪些服务器监控
101 # ListenPort=10050               # 不用改,指定端口号
134 ServerActive=127.0.0.1,192.168.88.5  # 主动汇报信息给哪些服务器
145 Hostname=zabbixserver           # 本机的主机名
280 UnsafeUserParameters=1           # 允许用户自定义监控项
  • 创建用于管理zabbix_agent的service文件
# 配置agent服务的service文件
[root@zabbixserver ~]# vim /usr/lib/systemd/system/zabbix_agentd.service
[Unit]
Description=zabbix agent
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/tmp/zabbix_agentd.pid
ExecStart=/usr/local/sbin/zabbix_agentd
ExecStop=/bin/kill $MAINPID

[Install]
WantedBy=multi-user.target
  • 启动zabbix_agent服务
# 新建service文件,一般需要执行systemctl daemon-reload,否则有可能识别不到
[root@zabbixserver ~]# systemctl daemon-reload
# 启动服务
[root@zabbixserver ~]# systemctl start zabbix_agentd.service 
[root@zabbixserver ~]# systemctl enable zabbix_agentd.service 
  • 检查端口10050
# 查看端口(10050)
[root@zabbixserver ~]# ss -tlnp | grep :10050
LISTEN     0      128          *:10050

第五步:配置nginx+php环境(用于展示zabbix的web页面)

  • 安装nginx的依赖包
# 安装依赖
[root@zabbixserver ~]# yum install -y gcc pcre-devel openssl-devel
  • 编译并安装nginx
# 解压nginx压缩包
[root@zabbixserver ~]# tar xf lnmp_soft.tar.gz 
[root@zabbixserver ~]# cd lnmp_soft/
[root@zabbixserver lnmp_soft]# tar xf nginx-1.12.2.tar.gz 
# 进入nginx工作目录
[root@zabbixserver lnmp_soft]# cd nginx-1.12.2/
 # 编译nginx支持https
[root@zabbixserver nginx-1.12.2]# ./configure --with-http_ssl_module   
# 安装
[root@zabbixserver nginx-1.12.2]# make && make install
  • 安装php相关软件包
# 配置nginx支持php。配置php可以连接mysql
[root@zabbixserver ~]# yum install -y php php-fpm php-mysql mariadb-server mariadb-devel
# 5. 根据zabbix手册,修改nginx参数
[root@zabbixserver ~]# vim /usr/local/nginx/conf/nginx.conf
34 fastcgi_buffers 8 16k;     #缓存php生成的页面内容,8个16k
35 fastcgi_buffer_size 32k;   #缓存php生产的头部信息,32k
36 fastcgi_connect_timeout 300;  #连接PHP的超时时间,300秒
37 fastcgi_send_timeout 300;     #发送请求的超时时间,300秒
38 fastcgi_read_timeout 300;     #读取请求的超时时间,300秒
70 location ~ \.php$ {
71     root           html;
72     fastcgi_pass   127.0.0.1:9000;
73     fastcgi_index  index.php;
74   # fastcgi_param  SCRIPT_FILENAME  /script    s$fastcgi_script_name;
75      include    fastcgi.conf;  # 注意改成fastcgi.conf
76  }
  • 启动nginx相关服务
# 启动mariadb服务
[root@zabbixserver ~]# systemctl enable mariadb --now
# 启动php-fpm服务
[root@zabbixserver ~]# systemctl enable php-fpm --now
# 检查php-fpm端口(9000)
[root@zabbixserver ~]# ss -tlnp | grep :9000
LISTEN     0      128    127.0.0.1:9000
# 启动nginx服务
[root@zabbixserver ~]# /usr/local/nginx/sbin/nginx 
# 检查80端口
[root@zabbixserver ~]# ss -tlnp | grep :80
LISTEN     0      128          *:80
# 写入到rc.local中的命令,开机时自动执行
[root@zabbixserver ~]# echo '/usr/local/nginx/sbin/nginx' >> /etc/rc.d/rc.local 
# 给与rc.local执行权限
[root@zabbixserver ~]# chmod +x /etc/rc.d/rc.local
  • 导入zabbix的web页面
# 拷贝zabbix的web页面到nginx
[root@zabbixserver ~]# ls lnmp_soft/zabbix-3.4.4/frontends/
php
[root@zabbixserver ~]# cp -r lnmp_soft/zabbix-3.4.4/frontends/php/* /usr/local/nginx/html/
  • 修改nginx html的属主和属组
# nginx运行期间,调用php-fpm服务,php-fpm需要向web目录中修改文件。
# php-fpm的运行用户是apache,所以apache用户需要对该目录有写权限
[root@zabbixserver ~]# chown -R apache:apache /usr/local/nginx/html/
  • 访问192.168.88.5/index.php,首次访问,将会自动跳转到安装页面:http://192.168.88.5/setup.php
    图片.png

    图片.png
  • 根据上面红色报错,解决zabbix web依赖的问题
# 安装依赖的软件包
[root@zabbixserver ~]# yum install -y php-gd php-xml php-bcmath php-mbstring
# 修改php.ini文件
[root@zabbixserver ~]# vim /etc/php.ini
672 post_max_size = 16M
384 max_execution_time = 300
394 max_input_time = 300
878 date.timezone = Asia/Shanghai
[root@zabbixserver ~]# systemctl restart php-fpm
  • 刷新web页(没有错误视为成功)


    图片.png

第六步:登录Zabbix网站使用

  • 连接数据库的密码,也是zabbix。


    连接数据库.png
    图片.png

    图片.png

    图片.png
  • 登录 默认的登陆用户是admin,密码是zabbix。


    登录.png
  • 配置zabbix


    修改语言1.png

    修改语言2.png
  • 启用监控自身


    检测中.png

    配置主机.png

    启用.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容