本文介绍在RHEL 8系统上安装Prometheus 2.6.0监控工具的步骤。
简介 Prometheus是一个最初在SoundCloud开发的开源时间序列监视和警报工具包,它是云原生应用程序和微服务的事实监控工具。在不提及Prometheus的情况下,你无法谈论Docker和Kubernetes基础设施监控,为了实现完整的监控,警报和可视化,Grafana通常会融入其中,可以在RHEL 8系统上也安装Grafana,参考在RHEL 8系统上安装Grafana 5.4.2的步骤。
步骤1:为Prometheus添加系统用户和组 让我们通过创建一个运行和管理Prometheus服务的专用用户,开始在RHEL 8系统上安装Prometheus,这是一个无权访问控制台/shell登录的系统用户: sudo groupadd --system prometheus sudo useradd -s /sbin/nologin --system -g prometheus prometheus 请注意,此用户没有/bin/bash shell,这就是我们使用-s /sbin/nologin的原因。
第2步:设置NTP服务器 建议在Prometheus服务器上配置NTP服务器以提供准确的时间,参考在RHEL 8系统上使用Chrony配置NTP服务器一文。
第3步:为Prometheus创建数据目录 创建系统用户和组后,继续创建将用于存储Prometheus数据的目录,这包括从受监控代理收集的指标: sudo mkdir /var/lib/prometheus 你可以选择使用不同的路径,例如单独的分区。
第4步:为Prometheus创建配置目录 Prometheus主配置文件目录是/etc/prometheus/,它将有一些子目录: for i in rules rules.d files_sd; do sudo mkdir -p /etc/prometheus/${i}; done
第5步:在RHEL 8系统中下载Prometheus 2.6.0及解压缩安装 我们需要下载最新版本的Prometheus文件并将其解压缩以获取二进制文件,你可以从Prometheus下载地址中找到。 当然,可以使用curl或wget从命令行下载: sudo yum -y install wget wget https://github.com/prometheus/prometheus/releases/download/v2.6.0/prometheus-2.6.0.linux-amd64.tar.gz 解压缩文件并将其移动到$PATH中的目录: tar xvf prometheus-2.6.0.linux-amd64.tar.gz cd prometheus-2.6.0.linux-amd64.tar.gz sudo cp prometheus promtool /usr/local/bin/ 同时将console和console_libraries复制到/etc/prometheus目录: sudo cp -r consoles/ console_libraries/ /etc/prometheus/
第6步:创建Prometheus配置文件 Prometheus配置文件将位于/etc/prometheus/prometheus.yml下,使用下面内容创建简单配置: # Global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. scrape_timeout: 15s # scrape_timeout is set to the global default (10s). # A scrape configuration containing exactly one endpoint to scrape:# Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['localhost:9090'] 对文件进行更改以适合你的初始设置并保存文件。
第7步:创建systemd服务单元 为了能够使用systemd管理Prometheus服务,需要明确定义此单元文件。 创建一个文件: sudo vim /etc/systemd/system/prometheus.service 增加以下内容在文件中: [Unit] Description=Prometheus Documentation=https://prometheus.io/docs/introduction/overview/ Wants=network-online.target After=network-online.target [Service] Type=simple Environment="GOMAXPROCS=2" User=prometheus Group=prometheus ExecReload=/bin/kill -HUP $MAINPID ExecStart=/usr/local/bin/prometheus \ --config.file=/etc/prometheus/prometheus.yml \ --storage.tsdb.path=/var/lib/prometheus \ --web.console.templates=/etc/prometheus/consoles \ --web.console.libraries=/etc/prometheus/console_libraries \ --web.listen-address=0.0.0.0:9090 \ --web.external-url= SyslogIdentifier=prometheus Restart=always [Install] WantedBy=multi-user.target 需要编辑上面内容的该行: Environment="GOMAXPROCS=2 将2替换为服务器上的vcpus数。 设置正确的目录权限: for i in rules rules.d files_sd; do sudo chown -R prometheus:prometheus /etc/prometheus/${i}; done for i in rules rules.d files_sd; do sudo chmod -R 775 /etc/prometheus/${i}; done sudo chown -R prometheus:prometheus /var/lib/prometheus/ 启动Prometheus服务: sudo systemctl daemon-reload sudo systemctl start prometheus 使用systemctl status prometheus命令检查状态: $ systemctl status prometheus.service
第8步:配置firewalld 我将允许使用Firewalld丰富的规则从我的可信网络访问Prometheus管理接口端口9090: sudo firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" \ source address="192.168.122.0/24" port protocol="tcp" port="9090" accept' sudo firewall-cmd --reload 如果要允许来自任何IP,请使用: sudo firewall-cmd --add-port=9090/tcp --permanent sudo firewall-cmd --reload 在浏览器中输入 Prometheus服务器IP/主机名:9090 即可访问Prometheus控制中心,如下:
至此,在RHEL 8上安装Prometheus的操作全部完成。
相关主题 |