首先在 CentOS7 上搭建 Grafana(加上 Nginx 作为代理)

首先

我几乎只是出于兴趣而接触过各种监控的开源软件,但最近我专注于使用prometheus。初开始时可能会有些难度,但熟悉之后感觉很不错。

先试试在Prometheus上使用Grafana进行联动吧。以下是一个简易的构建备忘录,供对此感兴趣的人参考。

Grafana安装完成只需通过yum,另外还顺带配置了nginx以实现443/tcp的SSL连接。而且Grafana允许匿名访问,还可以移除登录信息和会话过期等繁琐的共享操作。

由于Prometheus是通过组合多个开源软件来运行的,所以根据需要还需要以下软件。
这份备忘录内容仅涉及Prometheus的基本安装。

・Prometheus(监视)
安装:先搭建 CentOS7 中的 Prometheus v2.28.1
・Cortex 或 Thanos(长期保存监视数据@学习中)
・Grafana(可视化)
安装:先搭建 CentOS7 中的 Grafana(+ nginx 代理)
・alertmanager(通知)
・exporter
– node_exporter(代理监视,性能)
– snmp_exporter(SNMP 监视)
– blackbox_exporter(网络监视,ICMP、DNS、http)
– vmware_exporter(vSphere 监视)
(以上常用,其他根据需要学习)

前提 – “Premise”

・英特尔64位CPU
・CentOS 7.9操作系统
・使用yum安装Grafana 8.0.6的最新版本
・使用yum安装nginx 1.20.1的最新版本
・SSL证书为自签名证书

安装 Grafana

打开/etc/yum.repos.d/grafana.repo文件,使用vi命令。

[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

使用Yum安装Grafana并自动确认安装 (-y)
启动Grafana服务
检查Grafana服务的状态
启用Grafana服务

・访问确认
如果能够通过浏览器访问 http://[IP地址]:3000/,则表示OK。
初始用户名和密码为admin/admin。

安装Nginx(用于443/tcp SSL访问和80/tcp访问)。

将以下命令的中文本地化解释转述成中文:

使用命令 `rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm`,安装了位于 `http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm` 的 Nginx 软件包。

用yum -y安装nginx。

在中国的本地化服务中,您可以使用以下方式来表达上述内容:
・SSL配置
mkdir -p /etc/nginx/cert
cd /etc/nginx/cert
openssl genrsa 2048 > localhost.key
openssl md5 * > rand.dat
openssl req -new -sha256 -key localhost.key -out localhost.csr

注:以上表达方式为示例,实际表达可能因场景和文体要求而有所不同。

Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:none
Organization Name (eg, company) [Default Company Ltd]:none
Organizational Unit Name (eg, section) []:none
Common Name (eg, your name or your server's hostname) []:localhost.local
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

openssl x509 -days 3650 -sha256 -in localhost.csr -out localhost.crt -req -signkey localhost.key = 使用openssl生成localhost.crt公钥证书,要求有效期3650天,哈希算法采用sha256,输入文件为localhost.csr证书签名请求文件,签名密钥为localhost.key文件。

・证书确认
openssl x509 -in localhost.crt -noout -text

・Nginx配置
以vi命令打开/etc/nginx/conf.d/default.conf文件。

ssl_protocols TLSv1.2;
server {
  listen 443 ssl;
  server_name localhost;
  ssl_certificate      /etc/nginx/cert/localhost.crt;
  ssl_certificate_key  /etc/nginx/cert/localhost.key;
  proxy_buffering off;
  proxy_request_buffering off;
  client_max_body_size 1000m;
  location / {
    proxy_pass http://localhost:3000/;
  }
}
server {
  listen 80;
  server_name localhost;
#    return 301 https://$host$request_uri; ※http >> https リダイレクトしたい場合
  proxy_buffering off;
  proxy_request_buffering off;
  client_max_body_size 1000m;
  location / {
    proxy_pass http://localhost:3000/;
  }
}

启动nginx服务。
查看nginx服务状态。
设置nginx服务开机自启。

Grafana无需登录即可访问的功能

打开 /etc/grafana/grafana.ini 文件。

~~~略
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
;enabled = false
enabled = true ※追記

# specify organization name that should be used for unauthenticated users
;org_name = Main Org.
org_name = [organization name]  ※追記。*注

# specify role for unauthenticated users
;org_role = Viewer ※匿名アクセスはviewer権限

# mask the Grafana version number for unauthenticated users
;hide_version = false
~~~略
grafana-org.png

修改grafana.ini后,需重启服务以使更改生效。
执行systemctl restart grafana-server.service。

Prometheus 和 Grafana 的连接设置

只需要添加数据源就可以了。请注意,每个Grafana组织都需要创建数据源,创建方法可以在Grafana的管理界面上点击完成。(我认为只要看一下界面就能明白,所以省略了)

广告
将在 10 秒后关闭
bannerAds