统信系统申威cpu 部署mysql、 portainer、node-exporter、Prometheus、AlertManager、grafana

发布时间:2024年01月24日

mysql容器部署

MySQL 是一款广泛使用的开源关系型数据库管理系统,用于存储、管理和检索结构化数据,并通过 SQL 语言支持高效率的数据操作和管理。?

docker run --privileged -itd --name mysql_8  \
-e MYSQL_USER="admin" -e MYSQL_PASSWORD="123456"  \
-e MYSQL_ROOT_PASSWORD="123456"  \
-v /data/mysql/data/:/var/lib/mysql/  \
-p 3306:3306 leechm/mysql:8.0.18  --character-set-server=utf8  \
--collation-server=utf8_unicode_ci  \
--default-authentication-plugin=mysql_native_password 

?portainer容器部署

?Portainer 是一款用于简化 Docker 及 Kubernetes 环境管理的可视化工具,它提供图形界面以方便用户进行容器、镜像、网络和卷等资源的管理和部署,无需直接使用命令行操作。

docker run -d -p 9001:9001 -p 8000:8000  \
--name portainer000 --restart always  \
-v /var/run/docker.sock:/var/run/docker.sock  \
-v /home/username/portainer/data:/data  \
leechm/portainer:v2.0.0

node-exporter容器部署

node-exporter 的作用是将类 UNIX 系统(包括 Linux)的硬件和系统性能指标暴露为 Prometheus 可以抓取的格式,以便进行监控与分析。

容器启动命令

docker run -d -p 9100:9100 \
  -v "/proc:/host/proc:ro" \
  -v "/sys:/host/sys:ro" \
  -v "/:/rootfs:ro" \
  --net="host" \
--restart=always \
  leechm/node_exporter:0.18.1

Prometheus容器部署

?Prometheus 的作用是提供了一种用于系统监控和指标度量的开源工具,它通过Pull(或Push)方式收集、存储时间序列数据,并使用强大的 PromQL 查询语言进行数据分析与告警,适用于微服务架构和云原生环境。

新建目录

mkdir -p /data/prometheus/data

mkdir -p /data/prometheus/rules

chmod 777 -R /data/prometheus/data

编辑配置文件修改文件:

vi ?/data/prometheus/prometheus.yml

alerting:

? alertmanagers:

? - static_configs:

??? - targets:

????? - IP:9093



# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.

rule_files:

? - "rules/*.yml"



global:

? scrape_interval:???? 60s

? evaluation_interval: 60s



scrape_configs:

? - job_name: linux

??? static_configs:

????? - targets: ['IP:9100']

??????? labels:

????????? instance: IP

容器启动命令

docker run -d \
  --restart=always \
  --name prometheus \
  -p 9090:9090 \
  -v /data/prometheus:/etc/prometheus \
  -v /data/prometheus/data:/prometheus \
  -e TZ=Asia/Shanghai \
  leechm/prometheus:2.17.0 \
  --config.file=/etc/prometheus/prometheus.yml  \
  --web.enable-lifecycle

AlertManager容器部署

?AlertManager 是 Prometheus 生态系统的一部分,其作用是处理、聚合和路由来自 Prometheus 服务器的警报,并实现告警通知抑制、分组及静默等策略,以减少重复和无关紧要的通知,提高告警的有效性和可管理性。

创建数据目录。

mkdir -p /data/alertmanager/template

mkdir -p /data/alertmanager/storage

chmod 777 -R /data/alertmanager/storage

编辑配置文件

vi /data/alertmanager/alertmanager.yml

# 全局配置项
global:
  resolve_timeout: 5m #超时,默认5min
  #邮箱smtp服务
  smtp_smarthost: 'smtp.qq.com:465'
  smtp_from: '11111111@qq.com'
  smtp_auth_username: '11111111@qq.com'
  smtp_auth_password: '123456'
  smtp_require_tls: false

# 定义模板信息
templates:
  - 'template/*.tmpl'   # 路径

# 路由
route:
  group_by: ['alertname'] # 报警分组依据
  group_wait: 10s #组等待时间
  group_interval: 10s # 发送前等待时间
  repeat_interval: 1h #重复周期
  receiver: 'web.hook' # 默认警报接收者

# 警报接收者
receivers:
- name: 'web.hook'
  webhook_configs:
  - url: 'http://IP:端口/alertMessage/alert'
- name: 'mail' #警报名称
  email_configs:
  - to: '{{ template "email.to" . }}'  #接收警报的email
    html: '{{ template "email.to.html" . }}' # 模板
    send_resolved: true

# 告警抑制
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

容器启动命令

docker run -d \
  -p 9093:9093 \
  --name alertmanager \
  --restart=always \
  -v /data/alertmanager:/etc/alertmanager \
  -v /data/alertmanager/storage:/alertmanager \
  leechm/alertmanager:0.21.0

grafana容器部署

?Grafana 是一款功能强大的数据可视化与分析平台,用于实时监控和展示来自多个数据源的时间序列数据,并提供丰富的图表、仪表板以及灵活的告警功能,常用于企业级应用性能监控和业务数据分析。

新建空文件夹grafana-storage,用来存储数据

mkdir /opt/grafana-storage

设置权限

chmod 777 -R /opt/grafana-storage

?容器启动命令

docker run -d -p 7910:3000 \
 --name=grafana \
  --restart=always \
 -v /opt/grafana-storage/:/var/lib/grafana \
 leechm/grafana:v6.6.2

文章来源:https://blog.csdn.net/qq_43159578/article/details/135820917
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。