被监控端安装探针

接着上篇,我们现在来完成被监控端探针的安装

$ wget https://github.com/prometheus/node_exporter/releases/download/v0.14.0/node_exporter-0.14.0.linux-amd64.tar.gz
$ wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.10.0/mysqld_exporter-0.10.0.linux-amd64.tar.gz

安装Go环境

$ yum install go -y
$ go version
go version go1.6.3 linux/amd64

安装运行node_exporter:

$ tar xvf node_exporter-0.14.0.linux-amd64.tar.gz -C /usr/local/
$ nohup /usr/local/node_exporter-0.14.0.linux-amd64/node_exporter &

创建.my.cnf文件并运行mysqld_exporter:

$ cat /usr/local/mysqld_exporter-0.10.0.linux-amd64/.my.cnf
[client]
user=数据库用户名
password=数据库密码
$ tar xvf mysqld_exporter-0.10.0.linux-amd64.tar.gz -C /usr/local/
$ /usr/local/mysqld_exporter-0.10.0.linux-amd64/mysqld_exporter -config.my-cnf="/usr/local/mysqld_exporter-0.10.0.linux-amd64/.my.cnf" &

接下来再次回到Status->Targets页面,就可以看到两个Target的状态已经变成UP了
在前台我们已经能看到图像了,不过这个图像实在是

prometheus graph

安装grafana

attention:安装在prometheus那台服务器上,同样需要开启对应的3000端口
执行如下命令

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.3-1.x86_64.rpm
yum localinstall grafana-5.2.3-1.x86_64.rpm
/bin/systemctl daemon-reload
/bin/systemctl enable grafana-server.service
/bin/systemctl start grafana-server.service

启动Grafana
sudo /bin/systemctl start grafana-server.service

访问页面 http://服务器IP:3000
默认用户名和密码:admin/admin

添加对应的数据源:
Grafana Data Source

按照如下配置进行填写,如果出现 data source is working 说明对接没有问题:
Grafana Data Source add

配置成功之后可以把默认dashboards的导入
grafana default dashboard

这时候我们点击dashboard为Prometheus 2.0 Stats的视图,就可以看到:
Prometheus 2.0

当然这个是不能满足我们的,我们需要完成自定义的视图监控,我们可以到dashboard模板中,通过git clone
下载所有的模板。

通过import里面我们需要的json文件来完成自定义模板的需求:
import dashboard

我们可以导入自己需要的,导入完成后,我们就可以在左上角看到我们已经导入的模板
dashboard

配置nginx反向代理

因为可以看到grafana有iframe框架,那么我们就可以嵌套在我们需要的页面之中。但是如果全站是https的话,iframe嵌套为http的话就会造成空白的现象。所以我们需要利用nginx的反向代理功能完成对3000端口的代理

具体配置如下:

server {
        listen       80;
        listen       443 ssl;
        server_name  status.heroyf.club;#你要填写的域名,多个用逗号隔开
        charset                    utf-8;
        ssl_certificate            /data/nIWfUqN2/sites/status.heroyf.club/ssl/site.crt;
        ssl_certificate_key        /data/nIWfUqN2/sites/status.heroyf.club/ssl/site.key;
        ssl_prefer_server_ciphers  on;
        ssl_ciphers                ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
        ssl_protocols              TLSv1 TLSv1.1 TLSv1.2;
        ssl_session_cache          shared:SSL:5m;
        ssl_session_timeout        5m;
        keepalive_timeout          75s;
        keepalive_requests         100;
        if ($scheme = http) {
        return  301 https://$host$request_uri;
        }
        location / {
            proxy_pass  http://localhost:3000;  
            proxy_set_header Host $host;  
            proxy_set_header X-Real-IP $remote_addr;  
            proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;  
        }
    }

证书需要自己去申请,然后放在服务器的某个位置即可

最后我嵌套的效果
iframe grafana

版权声明:本文为原创文章,版权归 heroyf 所有
本文链接: https://heroyf.club/2019/03/make_monitor_2/


“苹果是给那些为了爱选择死亡的人的奖励”