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: '[email protected]'
smtp_auth_username: '[email protected]'
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