1.安装NGINX
yum install wget gcc* make pcre-devel zlib zlib-devel openssl openssl-devel -y
cd /usr/local/src
wget http://nginx.org/download/nginx-1.14.2.tar.gz
tar fvxz nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/usr/local/nginx
make && make install
手动启动和关闭nginx
1.环境变量:export PATH=$PATH:/usr/local/nginx/sbin/
2.检查nginx配置:nginx -t
3.启动nginx: nginx
4.关闭nginx:nginx -s stop
验证nginx安装是否成功
1.查看进程
2.查看监控端口
3.nginx日志
4.浏览器访问
使用systemctl管理nginx,/usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
[Install]
WantedBy=multi-user.target
2.安装PHP
yum install epel-release -y
yum install -y gcc* make bzip2 bzip2-devel readline-devel pcre pcre-devel zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel openldap openldap-devel libmcrypt libmcrypt-devel
cd /usr/local/src/
wget https://www.php.net/distributions/php-5.6.34.tar.gz
tar fvxz php-5.6.34.tar.gz
cd php-5.6.34
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-opcache --enable-fpm --with-fpm-user=www --with-png-dir --with-freetype-dir --with-jpeg-dir --with-gd --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-gettext --enable-mbstring --with-iconv --with-mcrypt --with-mhash --with-openssl --enable-bcmath --enable-soap --with-libxml-dir=/usr/ --enable-pcntl --enable-shmop --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-sockets --with-curl --with-zlib --enable-zip --with-bz2 --with-readline
make && make install
cp php.ini-production /usr/local/php/etc/php.ini
启动PHP
环境变量:export PATH=$PATH:/usr/local/php/sbin/:/usr/local/php/bin/
使用默认配置文件:
cd /usr/local/php/etc/
cp php-fpm.conf.default php-fpm.conf
检查配置文件:php-fpm -t
配置启动命令:
cp /usr/local/src/php-5.6.34/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
useradd www
service php-fpm start
配置测试页
vim /usr/local/nginx/html/test.php
<?php
echo "taobao zabbix";
?>
配置nginx
vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.html index.htm index.php;
}
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
nginx -s reload
浏览器访问:http://10.10.10.15/test.php
3.安装MySQL
省略
测试PHP能否连接数据库
cat /usr/local/nginx/html/mysql.php
<?php
$link=mysql_connect("localhost","root","123456");
if(!$link) echo "FAILD!连接错误,用户名密码不对";
else echo "OK!可以连接";
?>
然后浏览器访问:http://10.10.10.15/mysql.php
4.安装zabbix server
yum install -y libevent-devel wget tar gcc* make net-snmp-devel libxml2-devel libcurl-devel
useradd -s /sbin/nologin zabbix
cd /usr/local/src
wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz
tar -zxf zabbix-4.0.3.tar.gz
cd zabbix-4.0.3
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/local/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
登录数据库,创建zabbix数据库及用户名和密码:
mysql> create database zabbix default charset utf8;
Query OK, 1 row affected (0.08 sec)
mysql> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';
Query OK, 0 rows affected, 2 warnings (0.07 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.09 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| zabbix |
+--------------------+
5 rows in set (0.07 sec)
zabbix server需要导入3个sql文件:
cd /usr/local/src/zabbix-4.0.3
mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
将前端文件拷贝到项目目录下:
cd /usr/local/src/zabbix-4.0.3
cp -rp frontends/php /usr/local/nginx/html/zabbix
编辑zabbix_server.conf文件:
[root@yanglin2 ~]# egrep -v '(^$|^#)' /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
PidFile=/tmp/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=10.10.10.15
Timeout=4
LogSlowQueries=3000
启动zabbix server
[root@yanglin2 zabbix-4.0.3]# /usr/local/zabbix/sbin/zabbix_server
如果启动的时候报错:
[root@yanglin2 zabbix-4.0.3]# /usr/local/zabbix/sbin/zabbix_server
/usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory
[root@yanglin2 zabbix-4.0.3]# ll /usr/local/mysql/lib/libmysqlclient.so.20
lrwxrwxrwx 1 mysql mysql 25 4月 13 22:22 /usr/local/mysql/lib/libmysqlclient.so.20 -> libmysqlclient.so.20.3.13
[root@yanglin2 zabbix-4.0.3]# ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64/
web端配置zabbix
浏览器输入地址
10.10.10.15/zabbix/index.php
按照向导安装
第二步检查若有问题
vim /usr/local/php/etc/php.ini
date.timezone = Asia/Chongqing
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
然后重启PHP
第三步如果报错zabbix error connecting to database [no such file or directory]
vim /usr/local/php/etc/php.ini
mysqli.default_socket = /data/app/mysql/mysql.sock
然后重启PHP
第六步如果报错,先点击download
cp /root/下载/zabbix.conf.php /usr/local/nginx/html/zabbix/conf/zabbix.conf.php
然后点击retry
安装完成后,通过http://10.10.10.15/zabbix/index.php#就能直接访问web管理界面(点击完成也会自动跳转)
默认用户名:admin,密码:zabbix
然后点击profile,调整语言
编辑zabbix server上面的agent
[root@yanglin2 ~]# egrep -v '(^$|^#)' /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
UnsafeUserParameters=1
启动zabbix server上的agent
/usr/local/zabbix/sbin/zabbix_agentd
4.解决中文乱码问题
进入电脑C:\Windows\Fonts,找到微软雅黑字体,上传到/usr/local/nginx/html/zabbix/fonts/目录下
修改zabbix网页设置
vim /usr/local/nginx/html/zabbix/include/defines.inc.php
修改如下:
define('ZBX_GRAPH_FONT_NAME', 'msyh'); // font file name
默认是DejaVuSans,改成msyh
修改完成后到网页去验证即可
主机监控添加时的多种接口
1.agent:zabbix提供一个agent客户端,可装在Linux和windows
2.snmp:使用snmp协议去监控服务器,交换机,路由器
3.jmx:方便我们去监控java进程
4.ipmi监控硬件信息
5.grafana简介
1.Grafana本身并不存储数据,数据从其他地方获取,需要配置数据源
2.grafana支持从zabbix中获取数据
3.grafana优化了图形的展示,可以用来做监控大屏
安装grafana
wget https://dl.grafana.com/oss/release/grafana-6.2.5-1.x86_64.rpm
sudo yum localinstall grafana-6.2.5-1.x86_64.rpm
systemctl enable grafana-server
systemctl start grafana-server
浏览器访问grafana
http://10.10.10.23:3000/login
默认账号密码都是admin
登录后需要马上修改密码
grafana的使用
1.首先创建dashboard,然后再创建图形
2.每次操作都需要save程序,类似代码写完提交到代码管理服务器一样
然后保存,save
然后命名
grafana的数据源介绍
1.支持influxdb等
2.默认不支持去zabbix读取数据,需要安装插件
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.如果在线安装慢,可以先到此地址下载 https://grafana.com/api/plugins/alexanderzobnin-zabbix-app/versions/3.10.2/download
放到 /var/lib/grafana/plugins,然后解压即可
5.systemctl restart grafana-server 重启grafana
可以看到已经支持zabbix插件
grafana开启zabbix插件
plugins-->apps-->zabbix-->enable
点击enable即可
grafana配置zabbix数据源
选择zabbix
填写配置信息
数据源配置完成
grafana画板中添加图形
最后点击右上角的save即可
grafana画板中添加图形
grafana变量高级功能
grafana展示zabbix数据
1.单台服务器的流量比较好展现,但多台服务器的流量得手动创建图形,比较麻烦
2.grafana的变量功能让我们可以选择展现哪台服务器的流量