zabbix 安装和配置


zabbix 的部署原理
1. zabbix server需要把监控数据入sql数据库,所以得Mysql环境
2. zabbix的 web是基于php开发的,所以得LNMP环境
3. 部署zabbix server和zabbix web

第一步,安装nginx

安装nginx 请参考:https://www.cnblogs.com/faberbeta/p/nginx003.html

第二步,先安装mysql

mysql 安装脚本请参考:https://www.cnblogs.com/faberbeta/p/nginx-install002.html

第三步,安装PHP

php安装请参考:https://www.cnblogs.com/faberbeta/p/12918695.html

LNMP架构

1. 用户 > PHP文件
2. 请求到达nginx, nginx通过 127.0.0.1:9000 去调用 php-fpm
3. php-fpm > 运行php程序
4. php > 操作mysql

LNMP 的环境验收,/usr/local/nginx/html/text_mysql.php

<?php
$link=mysql_connect("127.0.0.1:50000","root","zabbixpwd");
if(!$link){
echo "mysql_connect fail";
}else{
echo "mysql_connect success";
}
?>

#注意,以上测试数据库root的秘密是zabbixpwd,请根据自己的数据root秘密,做相应修改

#注意,以上测试的数据库端口是50000,请根据自己的数据root秘密,做相应修改

第四步,安装zabbix

zabbix 的官网

https://www.zabbix.com/

zabbix server编译安装

yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel

useradd -s /sbin/nologin zabbix

cd /usr/local/src/

wget 'https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.2.0/zabbix-4.2.0.tar.gz'

或者wget 'http://download.zhufunin.com/zabbix/zabbix-4.2.0.tar.gz'

tar -zxvf zabbix-4.2.0.tar.gz

cd zabbix-4.2.0

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/app/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2

make && make install

选项说明

1. --prefix指定安装目录
2. --enable-server 安装zabbix server
3. --enable-agent 安装zabbix agent
4. --with-mysql 用mysql来存储


zabbix server的安装验证
环境变量设置

echo 'export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin' >> /etc/profile
source /etc/profile

在/etc/ld.so.conf中添加mysql的lib (/usr/local/mysql/app/mysql/lib/)

之后ldconfig一下
查看版本: zabbix_server --version

zabbix server的启动
1. 需要到mysql里做数据库初始化
2. 配置zabbix server 主要是配置链接mysql的用户名和密码
3. 启动zabbix server

Mysql数据库初始化mysql -uroot -pzabbixpwd -A

# 请根据具体个人的数据 root密码登陆自己的数据,我用的密码是zabbixpwd

create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by 'zabbixpwd';
flush privileges;
set names utf8;
use zabbix;
source /usr/local/src/zabbix-4.2.0/database/mysql/schema.sql;
source /usr/local/src/zabbix-4.2.0/database/mysql/data.sql;
source /usr/local/src/zabbix-4.2.0/database/mysql/images.sql;

zabbix server的配置 /usr/local/zabbix/etc/zabbix_server.conf

LogFile=/usr/local/zabbix/zabbix_server.log
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=zabbixpwd
DBPort=50000
Timeout=30
AlertScriptsPath=/usr/local/zabbix/alertscripts
ExternalScripts=/usr/local/zabbix/externalscripts
LogSlowQueries=30000

#注意,数据库密码换成自己的,我用的密码是zabbixpwd

启动 zabbix server

chown zabbix:zabbix -R /usr/local/zabbix/
/usr/local/zabbix/sbin/zabbix_server

启动 zabbix server 的zabbix_agentd

/usr/local/zabbix/sbin/zabbix_agentd

验证

1. 进程 ps -ef |grep zabbix
2. 端口 netstat -lpntu |grep zabbix
3. 是指 tail -50 /usr/local/zabbix/zabbix_server.log

Zabbix Web的安装

mkdir /usr/local/nginx/html/zabbix
cp -a /usr/local/src/zabbix-4.2.0/frontends/php/* /usr/local/nginx/html/zabbix/

访问zabbix web, 需要做一些初始化设置

http://192.168.1.112/zabbix/

zabbix web配置php做配置优化 /usr/local/php/etc/php.ini
1. post_max_size = 32M
2. max_execution_time = 350
3. max_input_time = 350
4. date.timezone = Asia/Shanghai
5. always_populate_raw_post_data = -1
6. systemctl restart php-fpm

登陆zabbix http://192.168.1.112/zabbix/
根据页面提示,一步一步,进行下去,最后会让你下载zabbix.conf.php文件,
然后让你把这个文件放在某个目录下,放好后,下一步,就安装结束了

1. 默认用户名和密码,Admin zabbix
3. 禁用guest用户
4. 更改admin的密码,更改自己的密码

启动zabbix的时候找不到,libmysqlclient.so.18,这样做

[root@localhost lib]# /etc/init.d/zabbix_server start
Starting zabbix_server: /usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
[FAILED]

解决方法

[root@localhost ~]# find / -name "libmysqlclient.so.18"

/usr/lib64/mysql/libmysqlclient.so.18

[root@localhost ~]# echo "/usr/lib64/mysql/" >> /etc/ld.so.conf

[root@localhost ~]# ldconfig

第五步,安装grafana

请参考:https://www.cnblogs.com/faberbeta/p/12923298.html

Grafana的数据源介绍
1. 支持influxdb等
2. 默认不支持去Zabbix读取数据,需要安装插件

在grafana服务器中

Grafana安装Zabbix插件
1. grafana-cli plugins list-remote
2. grafana-cli plugins list-remote|grep -i zabbix
3. grafana-cli plugins install alexanderzobnin-zabbix-app
4. 插件安装有时候比较慢,可以下载离线的zabbix插件,放到/var/lib/grafana/plugins
5. systemctl restart grafana-server

Grafana开启Zabbix插件
plugins -> apps -->> zabbix -> enable

之后在数据源那里可以看到zabbix

Grafana配置Zabbix数据源
1. http://192.168.1.112/zabbix/api_jsonrpc.php
2. 选择Zabbix的版本
3. 配置Zabbix用户名密码
4. 添加数据源成功会有提示

Grafana面板中添加图形
1. CPU负载,CPU时间
2. 服务器流量
3. 其他的监控

Grafana变量的使用
1. 主机组变量: group:*
2. 主机变量: host:$group.*

Grafana变量的使用
1. 流量图中使用模版,可以随意观察某台主机的流量
2. CPU利用率使用模版,可以随意观察某台主机的CPU利用率

原文地址:https://www.cnblogs.com/faberbeta/p/12923199.html