3.8 KiB
3.8 KiB
本文作者:丁辉
Helm部署Nightingale
介绍
Nightingale 是一个开源的监控工具,主要用于监控和分析电子病历系统(EMR)中的数据。
开始部署
-
克隆 Helm 仓库
git clone https://github.com/flashcatcloud/n9e-helm.git
-
编写 values.yaml
vi n9e-values.yaml
内容如下
expose: type: clusterIP # 使用 clusterIP externalURL: https://填写域名 # 改为自己的外部服务访问地址 # 指定存储卷, 不指定则需要集群内存在默认的存储卷 persistence: enabled: true persistentVolumeClaim: database: storageClass: "" redis: storageClass: "" prometheus: storageClass: "" categraf: internal: docker_socket: unix:///var/run/docker.sock # 如果您的kubernetes运行时是容器或其他,则清空此变量。 n9e: internal: image: repository: flashcatcloud/nightingale tag: latest # 使用最新版镜像
-
部署
helm install nightingale ./n9e-helm -n monitor -f n9e-values.yaml --create-namespace
-
创建 Nginx 证书 secret
cert为.pem和.crt文件都可以
kubectl create secret tls n9e-tls --key nginx.key --cert nginx.pem -n monitor
-
编写 ingress 文件
vi n9e-ingress.yaml
内容如下
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: n9e-ingress namespace: monitor spec: ingressClassName: nginx rules: - host: # 域名 http: paths: - pathType: Prefix backend: service: name: nightingale-center port: number: 80 path: / tls: - hosts: - # 域名 secretName: n9e-tls
-
部署 ingress
kubectl apply -f n9e-ingress.yaml
-
访问验证
- 访问地址:https://hello.n9e.info
- 账户密码:root/root.2020
卸载
-
删除 ingress
kubectl delete -f n9e-ingress.yaml
-
卸载 nightingale
helm uninstall nightingale -n monitor
-
删除 secret
kubectl delete secret n9e-tls -n monitor
-
删除命名空间
kubectl delete namespace monitor
开始使用
添加自带的 prometheus 数据源
登录系统后点击 > 系统配置 > 数据源 > 添加
-
数据源名称
nightingale-prometheus
-
URL
http://nightingale-prometheus:9090
如何配置外部数据库
使用外部数据库
仅为示例
更改 values.yaml 内 database 配置
vi n9e-values.yaml
内容如下
database:
type: external # 改为 external
external:
host: "192.168.1.10"
port: "3306"
name: "n9e_v6"
username: "root"
password: "root"
sslmode: "disable"
配置外部 Reids 启动
指定 Reids 运行模式为独立模式或哨兵模式
仅为示例
更改 values.yaml 内 redis 配置
vi n9e-values.yaml
内容如下
redis:
type: external
external:
addr: "192.168.1.10:6379"
sentinelMasterSet: ""
password: ""
mode: "standalone" # standalone/sentinel
问题记录
-
部署后 prometheus 无法抓取 n9e 监控目标
原因是因为:
- prometheus 配置 svc 地址错误
- helm 模版格式错误
解决方法: