[toc]
grafana安装
rpm包安装
安装
yum install -y https://dl.grafana.com/grafana/release/12.2.1/grafana_12.2.1_18655849634_linux_amd64.rpm
启动服务并设置开机自启
说明
grafana默认监听TCP/3000端口
systemctl enable grafana-server && systemctl start grafana-server
grafana配置文件路径说明
| 文件 | 说明 | 
|---|---|
/usr/share/grafana/ | 安装目录 | 
/usr/share/grafana/bin/grafana-cli | grafana-cli 路径 | 
/etc/grafana/grafana.ini | 全局配置文件 | 
/usr/share/grafana/conf/defaults.ini | 默认配置文件 | 
| /var/lib/grafana/plugins/` | plugins 安装目录 | 
/var/lib/grafana/grafana.db | 默认数据存储文件路径 | 
/var/log/grafana/ | 日志文件存储路径 | 
/usr/share/grafana/public/emails/ | 邮件默认发送模板路径 | 
yum安装
导入 GPG key
wget -q -O gpg.key https://rpm.grafana.com/gpg.key
sudo rpm --import gpg.key
编辑yum源
cat > /etc/yum.repos.d/grafana.repo <<EOF
[grafana]
name=grafana
baseurl=https://rpm.grafana.com
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://rpm.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
EOF
安装
说明
可以通过如下命令查看可以安装的grafana版本
yum clean all
yum makecache
yum list grafana --showduplicates
# 默认安装最新版
yum -y install grafana
# 指定版本安装
yum -y install grafana-12.2.1
启动
systemctl start grafana-server && systemctl enable grafana-server
docker安装
安装并启动容器
官方安装文档 中安装的grafana并没有做持久化
docker run -d --name=grafana -p 3000:3000 grafana/grafana
配置持久化
grafana数据存储路径为 /var/lib/grafana/grafana.db  文件,插件存储路径为 /var/lib/grafana/plugins 目录,因此需要持久化 /var/lib/grafana 这个目录
注意
以挂载宿主机目录的形式启动grafana的时候必须指定用户为root(--user=root),否则后续会报权限错误;而以volume形式挂载则没有问题
docker run \
  -d \
  --restart=always \
  --name=grafana \
  -h grafana \
  -p 3000:3000 \
  -v grafana-data:/var/lib/grafana \
  -v grafana-config:/etc/grafana \
  grafana/grafana:12.2.1
compose文件
cat > docker-compose.yaml << EOF
services:
  grafana:
    restart: always
    container_name: grafana
    user: root
    hostname: grafana
    ports:
      - 3001:3000
    volumes:
      - grafana-data:/var/lib/grafana
      - grafana-config:/etc/grafana
    image: grafana/grafana:12.2.1
volumes:
  grafana-data:
  grafana-config:
EOF
二进制安装
下载二进制包
wget https://dl.grafana.com/grafana/release/12.2.1/grafana_12.2.1_18655849634_linux_amd64.tar.gz
解压缩
tar -zxvf grafana_12.2.1_18655849634_linux_amd64.tar.gz
启动
# 后台启动
cd grafana-12.2.1
./bin/grafana-server &
helm安装
添加仓库
helm repo add grafana https://grafana.github.io/helm-charts
helm repo update
下载包
helm pull grafana/grafana
tar xf grafana-8.3.6.tgz
编辑 values.yaml
values.yaml 中可以定义启动参数、资源配置、svc、ingress等,自行修改即可
指定admin密码
注意
关于admin用户名和密码的配置处,可以以明文的方式指定,也可以指定外部secret
在指定外部secret的时候需要注意的是,如果通过手动编辑yaml文件的方式,在生成base64编码的时候,需要注意生成的base64编码不能包含换行符
在linux系统中,可以使用 -w0 参数生成没有换行符的base64编码
echo 'admin' | base64 -w0
也可以使用 echo -n 在输出字符串时不再末尾添加换行符
echo -n 'admin' | base64
也可以通过命令行来生成secret
kubectl create secret generic admin-secret \
  --from-literal=admin-user=admin \
  --from-literal=admin-password=admin \
  -n monitor
生成的secret内容如下
$ kubectl get secrets admin-secret -o yaml
apiVersion: v1
data:
  admin-password: YWRtaW4=
  admin-user: YWRtaW4=
kind: Secret
metadata:
  creationTimestamp: "2025-01-16T03:33:23Z"
  name: admin-secret
  namespace: monitor
  resourceVersion: "177855"
  uid: 35123900-b12c-4350-8155-dbd8172315c8
type: Opaque
# Administrator credentials when not using an existing secret (see below)
adminUser: admin
# adminPassword: strongpassword
# Use an existing secret for the admin user.
admin:
  ## Name of the secret. Can be templated.
  existingSecret: "admin-secret"
  userKey: admin-user
  passwordKey: admin-password
修改时区
说明
默认时区是UTC+0,如果要修改成UTC+8则需要在 values.yaml 文件中进行如下配置
env: 
  TZ: "Asia/Shanghai"
## "valueFrom" environment variable references that will be added to deployment pods. Name is templated.
## ref: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#envvarsource-v1-core
## Renders in container spec as:
##   env:
##     ...
##     - name: <key>
##       valueFrom:
##         <value rendered as YAML>
安装
helm upgrade --install grafana -n monitor --create-namespace . 
登陆grafana
浏览器访问 IP:3000
初始默认账户和密码都是admin

登陆成功后会提示修改密码,也可以选择跳过不修改

登陆后首界面


