برنامه نویسی

نصب Grafana با Docker Compose

‼️ روایت با فرض نصب پرومتئوس روی دستگاه مربوطه انجام شده است. اگر نصب نشدند، باید به عنوان اولین مرحله نصب آنها را انجام دهید. می توان از این منبع استفاده کرد.

1. گرافانا چیست

Grafana یک پلت فرم منبع باز برای تجسم و تجزیه و تحلیل داده ها است. Grafana می‌تواند داده‌های شما را از منابع داده مختلف از جمله Prometheus جمع‌آوری کند و این داده‌ها را در زمان واقعی تجسم کند و به کاربران کمک کند دید و درک بهتری داشته باشند.

Grafana می تواند توسط گروه های کاربری مختلف مانند مدیران سیستم، دانشمندان داده، متخصصان هوش تجاری و سایر کاربران فنی استفاده شود.

2. پیکربندی

2.1 grafana/config.monitoring

پس از نصب Prometheus، یک پیکربندی Grafana ایجاد می شود که رمز عبور راه اندازی را تعیین می کند و از ثبت نام کاربران جدید جلوگیری می کند.

  • ابتدا در دایرکتوری خانه با دستور گرانا فایلی به نام:
 mkdir grafana
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • سپس فایلی به نام config.monitoring را وارد کنید:
 nano config.monitoring
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • خطوط زیر به فایل باز شده اضافه شده و ذخیره و خارج می شوند:

توضیحات تصویر

2.2 Docker Compose: docker-compose.yml

  • ابتدا به فهرست اصلی می رویم:
 cd ..
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • سپس فایل docker-compose.yml را وارد می کنیم:
 nano docker-compose.yml
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • خطوط و مسیرهای مورد نیاز برای Grafana را اضافه می کنیم، سپس ذخیره می کنیم و از آن خارج می شویم:
   grafana:
    image: grafana/grafana
    user: "472"
    depends_on:
      - prometheus
    ports:
      - 3000:3000
    volumes:
      - grafana_data:/var/lib/grafana
      - ./grafana/provisioning/:/etc/grafana/provisioning/
    env_file:
      - ./grafana/config.monitoring
    networks:
      - back-tier
      - front-tier
    restart: always
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

فایل docker-compose دایرکتوری محلی /grafana/provisioning را در پوشه /etc/grafana/provising کانتینر Grafana قرار می دهد.

2.3 پیکربندی منبع داده: grafana/provisioning/datasources/datasource.yml

 cd grafana
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

 mkdir -p provisioning/datasources
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • سپس فایل /grafana/provisioning/datasources/datasource.yml را با دستور زیر وارد کنید:
 nano /grafana/provisioning/datasources/datasource.yml
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • اطلاعات زیر در فایل وارد شده، ذخیره و خارج می شود:
 # config file version
apiVersion: 1

# list of datasources that should be deleted from the database
deleteDatasources:
  - name: Prometheus
    orgId: 1

# list of datasources to insert/update depending
# whats available in the database
datasources:
  # <string, required> name of the datasource. Required
- name: Prometheus
  # <string, required> datasource type. Required
  type: prometheus
  # <string, required> access mode. direct or proxy. Required
  access: proxy
  # <int> org id. will default to orgId 1 if not specified
  orgId: 1
  # <string> url
  url: http://prometheus:9090
  # <string> database password, if used
  password:
  # <string> database user, if used
  user:
  # <string> database name, if used
  database:
  # <bool> enable/disable basic auth
  basicAuth: false
  # <string> basic auth username, if used
  basicAuthUser:
  # <string> basic auth password, if used
  basicAuthPassword:
  # <bool> enable/disable with credentials headers
  withCredentials:
  # <bool> mark as default datasource. Max one per org
  isDefault: true
  # <map> fields that will be converted to json and stored in json_data
  jsonData:
     graphiteVersion: "1.1"
     tlsAuth: false
     tlsAuthWithCACert: false
  # <string> json object of data that will be encrypted.
  secureJsonData:
    tlsCACert: "..."
    tlsClientCert: "..."
    tlsClientKey: "..."
  version: 1
  # <bool> allow users to edit datasources from the UI.
  editable: true
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

2.4 پیکربندی داشبورد: grafana/provisioning/dashboards/dashboard.yml

  • وقتی منبع داده در دسترس باشد، داشبوردها قابل ارائه هستند.

  • Grafana می تواند بدون هیچ فایل پیکربندی اجرا شود. با این حال، grafana/provisioning/datasources/datasource.yml برای پیکربندی Prometheus به عنوان منبع داده ایجاد شده است.

  • به دایرکتوری grafana بروید و فایل _dasboards را ایجاد کنید:

 cd grafana
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

 mkdir provisioning/dashboards
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • سپس با دستور زیر فایل /grafana/provisioning/dashboards/dashboard.yml را وارد کنید:
 nano /grafana/provisioning/dashboards/dashboard.yml
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • در این فایل کانفیگ، مسیر داشبوردهایی که برای وارد کردن استفاده می‌شوند را نشان می‌دهیم.

  • اطلاعات زیر در فایل وارد شده، ذخیره و خارج می شود:

apiVersion: 1

providers:
- name: 'Prometheus'
  orgId: 1
  folder: ''
  type: file
  disableDeletion: false
  editable: true
  options:
    path: /etc/grafana/provisioning/dashboards
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

3. Grafana را راه اندازی کنید

  • در نهایت، docker-compose از کار افتاده است زیرا تغییراتی در فایل‌ها وجود دارد:
 docker-compose down
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • دوباره بالا است و مشاهده می شود که گرافانا نیز بالا است:
 docker-compose up -d
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

  • سپس “http://IP:3000” را در مرورگر وارد کنید و به رابط Grafana دسترسی پیدا کنید:

IP دستگاه نصب شده در گرافانا را وارد کنید.

توضیحات تصویر

نام کاربری = مدیر
رمز عبور = فوبار (رمز عبور /grafana/config.monitoring فایل env)

  • پس از وارد کردن نام کاربری و رمز عبور، ورود با موفقیت انجام می شود:

توضیحات تصویر

  • به عنوان مثال مسیر “http://IP:3000/dashboard” در مرورگر وارد شده و صفحه نمایش داده می شود. داشبورد جدید با کلیک بر روی دکمه، Prometheus به عنوان منبع داده انتخاب می شود. سپس معیارهای SNMP انتخاب و تجسم می شوند:

توضیحات تصویر

  • در سمت چپ بالای صفحه قرار دارد درخواست دادن دکمه کلیک می شود و داشبورد اضافه می شود:

توضیحات تصویر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا