<p dir="rtl" align="center"> بسم الله الرحمن الرحیم </p>

## <p dir="rtl" align="right"> نصب و پیکربندی Kibana Dashboard </p> ##

<p dir="rtl" align="justify"> طبق مستندات رسمی، کیبانا را فقط پس از نصب Elasticsearch باید نصب کنید.  نصب به این ترتیب تضمین می کند که اجزایی که هر محصول به آنها وابسته است به درستی در جای خود قرار دارند.
<br>
 از آنجایی که قبلاً منبع بسته Elastic را در مرحله قبل اضافه کرده اید، می توانید اجزای باقی مانده از Elastic Stack را با استفاده از apt نصب کنید:
</p>

```r
sudo apt install kibana
```

<p dir="rtl" align="right"> سپس سرویس Kibana را فعال و راه اندازی کنید:</p>

```r
sudo systemctl enable kibana
sudo systemctl start kibana
```

<p dir="rtl" align="justify"> 
از آنجایی که کیبانا طوری پیکربندی شده است که فقط در لوکال هاست گوش دهد، باید یک پروکسی معکوس راه اندازی کنیم تا اجازه دسترسی خارجی به آن را بدهیم.  ما برای این منظور از Nginx استفاده خواهیم کرد که قبلاً باید روی سرور شما نصب شده باشد.
<br>
 ابتدا از دستور openssl برای ایجاد یک کاربر مدیریتی Kibana استفاده کنید که از آن برای دسترسی به رابط وب کیبانا استفاده خواهید کرد.  به عنوان مثال، نام این حساب را kibanaadmin می‌گذاریم، اما برای اطمینان از امنیت بیشتر، توصیه می‌کنیم یک نام غیر استاندارد برای کاربر خود انتخاب کنید که حدس زدن آن دشوار باشد.
<br>
 دستور زیر کاربر و رمز عبور کیبانا را ایجاد کرده و در فایل htpasswd.users ذخیره می کند.  شما Nginx را طوری پیکربندی می‌کنید که به این نام کاربری و رمز عبور نیاز داشته باشد و این فایل را لحظه‌ای بخوانید:
</p>

```r
echo "kibanaadmin:`openssl passwd -apr1`" | sudo tee -a /etc/nginx/htpasswd.users
```

<p dir="rtl" align="justify"> 
رمز عبور را وارد کنید و آن را تأیید کنید.  این ورود را به خاطر بسپارید یا توجه داشته باشید، زیرا برای دسترسی به رابط وب کیبانا به آن نیاز دارید.
<br>
 سپس یک فایل بلوک سرور Nginx ایجاد می کنیم.  به عنوان مثال، ما به این فایل با عنوان your_domain اشاره می کنیم، اگرچه ممکن است برای شما مفید باشد که نام توصیفی تری برای فایل خود قرار دهید.  به عنوان مثال، اگر یک رکورد FQDN و DNS برای این سرور تنظیم کرده اید، می توانید این فایل را به نام FQDN خود نام گذاری کنید.
<br>
 با استفاده از nano یا ویرایشگر متن دلخواه خود، فایل بلوک سرور Nginx را ایجاد کنید:
</p>

```r
sudo nano /etc/nginx/sites-available/your_domain
```

<p dir="rtl" align="justify">
بلوک کد زیر را به فایل اضافه کنید، حتما your_domain را برای مطابقت با FQDN یا آدرس IP عمومی سرور خود به روز کنید.  این کد Nginx را پیکربندی می کند تا ترافیک HTTP سرور شما را به برنامه Kibana هدایت کند که در localhost:5601 گوش می دهد.  علاوه بر این، Nginx را برای خواندن فایل htpasswd.users و نیاز به احراز هویت اولیه پیکربندی می کند.
<br>
 توجه داشته باشید که اگر آموزش پیش نیاز Nginx را تا انتها دنبال کرده باشید، ممکن است قبلاً این فایل را ایجاد کرده باشید و آن را با محتوایی پر کرده باشید.  در این صورت، قبل از افزودن موارد زیر، تمام محتوای موجود در فایل را حذف کنید:
</p>

```r
/etc/nginx/sites-available/your_domain
```

<p style="background-color:black;color:white;">
<code>
server {
     listen 80;
<br>
     server_name localhost;
<br>
     auth_basic "Restricted Access";
     auth_basic_user_file /etc/nginx/htpasswd.users;
<br>
     location / {
        proxy_pass http://localhost:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
     }
}
</code>
</p>

<p dir="rtl" align="justify">
فایل را با CTRL+Oذخیره و با CTRL+X ببندید.
<br>
 در مرحله بعد، پیکربندی جدید را با ایجاد یک پیوند نمادین به دایرکتوری فعال شده توسط سایت ها فعال کنید.  اگر قبلاً یک فایل بلوک سرور با همین نام در پیش نیاز Nginx ایجاد کرده اید، نیازی به اجرای این دستور ندارید:
</p>

```r
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/your_domain
```

<p dir="rtl" align="justify">
سپس پیکربندی را برای خطاهای متنی، بررسی کنید:
</p>

```r
sudo nginx -t
```

<p dir="rtl" align="justify">
اگر خطایی در خروجی شما گزارش شد، به عقب برگردید و دوباره بررسی کنید که محتوایی که در فایل پیکربندی خود قرار داده اید به درستی
 اضافه شده است.  هنگامی که سینتکس در خروجی OK است، ادامه دهید و سرویس Nginx را مجددا راه اندازی کنید:
</p>

```r
sudo systemctl reload nginx
```

<p dir="rtl" align="justify">
اگر راهنمای اولیه راه اندازی سرور را دنبال کردید، باید فایروال UFW را فعال کنید.  برای اجازه دادن به اتصالات به Nginx، می‌توانیم قوانین را با تایپ کردن زیر تنظیم کنیم:
</p>

```r
sudo ufw allow 'Nginx Full'
```

<p dir="rtl" align="justify">
توجه: اگر آموزش پیش نیاز Nginx را دنبال کردید، ممکن است یک قانون UFW ایجاد کرده باشید که به نمایه Nginx HTTP از طریق فایروال اجازه می دهد.  از آنجایی که نمایه کامل Nginx امکان ترافیک HTTP و HTTPS را از طریق فایروال فراهم می کند، می توانید با خیال راحت قانونی را که در آموزش پیش نیاز ایجاد کرده اید حذف کنید.  این کار را با دستور زیر انجام دهید:
</p>

```r
sudo ufw delete allow 'Nginx HTTP'
```

<p dir="rtl" align="justify">
Kibana اکنون از طریق FQDN یا آدرس IP عمومی سرور Elastic Stack شما قابل دسترسی است.  می‌توانید صفحه وضعیت سرور کیبانا را با رفتن به آدرس زیر و وارد کردن اطلاعات کاربری خود در صورت درخواست بررسی کنید:
</p>

```r
http://your_domain/status
```

<p dir="rtl" align="right">
این صفحه وضعیت اطلاعات مربوط به استفاده از منابع سرور را نمایش می دهد و افزونه های نصب شده را فهرست می کند.
</p>

<p dir="rtl" align="center"> صلوات</p>