<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>HaruLife</title>
    <link>https://yjnote.tistory.com/</link>
    <description>DevOps Harulife</description>
    <language>ko</language>
    <pubDate>Thu, 23 Jul 2026 20:25:24 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>Rohin</managingEditor>
    <item>
      <title>Ansible Jinja2 템플릿 반복문</title>
      <link>https://yjnote.tistory.com/190</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;set 문장과, for 문을 통한 반복문&lt;/p&gt;
&lt;pre id=&quot;code_1722824608203&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# envs에 리스트형식으로 데이터 기입
{% set envs = [&quot;dev&quot;, &quot;stg&quot;, &quot;prod&quot;] %}

# envs의 리스트를 불러 for문으로 하나씩 넣어 반복문 실행
{%- for env in envs -%}
    test-{{ env }} {% if not loop.last %}, {% endif %}{%- endfor %}
    
# 결과물
test-dev, test-stg, test-prod&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>DevOps/Ansible</category>
      <author>Rohin</author>
      <guid isPermaLink="true">https://yjnote.tistory.com/190</guid>
      <comments>https://yjnote.tistory.com/190#entry190comment</comments>
      <pubDate>Mon, 5 Aug 2024 11:23:57 +0900</pubDate>
    </item>
    <item>
      <title>ELK(Elasticsearch + Logstash + Kibana + Filebeat)로그 모니터링 - 3</title>
      <link>https://yjnote.tistory.com/185</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;Kibana를 통한 확인 방법!!&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #6164c6;&quot;&gt;&lt;b&gt;Index 설정&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.39.11.png&quot; data-origin-width=&quot;1970&quot; data-origin-height=&quot;1365&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bKIKdm/btsF1jztBqQ/5IH94e1ACOubq5KmLHC9k0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bKIKdm/btsF1jztBqQ/5IH94e1ACOubq5KmLHC9k0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bKIKdm/btsF1jztBqQ/5IH94e1ACOubq5KmLHC9k0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKIKdm%2FbtsF1jztBqQ%2F5IH94e1ACOubq5KmLHC9k0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1970&quot; height=&quot;1365&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.39.11.png&quot; data-origin-width=&quot;1970&quot; data-origin-height=&quot;1365&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;Stack Menagement 설정 선택&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.41.41.png&quot; data-origin-width=&quot;2551&quot; data-origin-height=&quot;1339&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/csmoOY/btsF2QQhg6d/U4VZ5vOEDEugpW7qfAmUSk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/csmoOY/btsF2QQhg6d/U4VZ5vOEDEugpW7qfAmUSk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/csmoOY/btsF2QQhg6d/U4VZ5vOEDEugpW7qfAmUSk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsmoOY%2FbtsF2QQhg6d%2FU4VZ5vOEDEugpW7qfAmUSk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2551&quot; height=&quot;1339&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.41.41.png&quot; data-origin-width=&quot;2551&quot; data-origin-height=&quot;1339&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;Kibana쪽 Data views 선택 및 Create data view 선택&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.45.48.png&quot; data-origin-width=&quot;2548&quot; data-origin-height=&quot;1363&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ckweFI/btsF1IyOJXI/wdakqhD3kWu6FE5sIXtJhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ckweFI/btsF1IyOJXI/wdakqhD3kWu6FE5sIXtJhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ckweFI/btsF1IyOJXI/wdakqhD3kWu6FE5sIXtJhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FckweFI%2FbtsF1IyOJXI%2FwdakqhD3kWu6FE5sIXtJhK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2548&quot; height=&quot;1363&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.45.48.png&quot; data-origin-width=&quot;2548&quot; data-origin-height=&quot;1363&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;name&lt;/span&gt; - index view 명칭&lt;br /&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;index pattern&lt;/span&gt; - 보여질 index명 기입 (위와같이 nginx-* 로할시 nginx- 로시작하는 모든 인덱스를 포함하게된다.)&lt;br /&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;오른쪽 네모박스&lt;/span&gt; - 지정할수있는 index 리스트를 보여준다.&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #6164c6;&quot;&gt;&lt;b&gt;로그가 잘쌓이는지 확인단계&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이제 인덱스를 그룹화해서 볼수있게 하였으니 확인하러가보자!&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.50.15.png&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1292&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/AHf6e/btsF3fh5uFw/RPb1tI0FjFmlls80MqgPaK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/AHf6e/btsF3fh5uFw/RPb1tI0FjFmlls80MqgPaK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/AHf6e/btsF3fh5uFw/RPb1tI0FjFmlls80MqgPaK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAHf6e%2FbtsF3fh5uFw%2FRPb1tI0FjFmlls80MqgPaK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2000&quot; height=&quot;1292&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.50.15.png&quot; data-origin-width=&quot;2000&quot; data-origin-height=&quot;1292&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;처음 화면으로 돌아와서 Dicover 선택&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.51.56.png&quot; data-origin-width=&quot;2548&quot; data-origin-height=&quot;1213&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ddSxIt/btsF2N7agUh/vCeKKNFxUNnIWz4ZFzTjkk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ddSxIt/btsF2N7agUh/vCeKKNFxUNnIWz4ZFzTjkk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ddSxIt/btsF2N7agUh/vCeKKNFxUNnIWz4ZFzTjkk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FddSxIt%2FbtsF2N7agUh%2FvCeKKNFxUNnIWz4ZFzTjkk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2548&quot; height=&quot;1213&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.51.56.png&quot; data-origin-width=&quot;2548&quot; data-origin-height=&quot;1213&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;왼쪽 버튼을 통해 아까 만들었던 index view 명칭을 선택&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;오른쪽 버튼을 통해 시간 조절가능&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.54.38.png&quot; data-origin-width=&quot;2550&quot; data-origin-height=&quot;1368&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dCqKLT/btsF1TfYt07/CjLhntLPUlprKFmE87FSi0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dCqKLT/btsF1TfYt07/CjLhntLPUlprKFmE87FSi0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dCqKLT/btsF1TfYt07/CjLhntLPUlprKFmE87FSi0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdCqKLT%2FbtsF1TfYt07%2FCjLhntLPUlprKFmE87FSi0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2550&quot; height=&quot;1368&quot; data-filename=&quot;스크린샷 2024-03-25 오후 12.54.38.png&quot; data-origin-width=&quot;2550&quot; data-origin-height=&quot;1368&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;1번 버튼을 통해 상세 설명을 확인할수 있다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;2번 버튼을 통해 해당 필드값에 대한 값만 보여지게 할수있다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2553&quot; data-origin-height=&quot;1345&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/qilTA/btsF13ipgcP/VVYuwWB2QSPgoLkysoDFAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/qilTA/btsF13ipgcP/VVYuwWB2QSPgoLkysoDFAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/qilTA/btsF13ipgcP/VVYuwWB2QSPgoLkysoDFAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FqilTA%2FbtsF13ipgcP%2FVVYuwWB2QSPgoLkysoDFAK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2553&quot; height=&quot;1345&quot; data-origin-width=&quot;2553&quot; data-origin-height=&quot;1345&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;원하는 필드값만 지정하면 위와같이 깔끔하게 보여지게끔 설정이 가능하다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>AWS/EC2</category>
      <author>Rohin</author>
      <guid isPermaLink="true">https://yjnote.tistory.com/185</guid>
      <comments>https://yjnote.tistory.com/185#entry185comment</comments>
      <pubDate>Mon, 25 Mar 2024 12:58:26 +0900</pubDate>
    </item>
    <item>
      <title>ELK(Elasticsearch + Logstash + Kibana + Filebeat)로그 모니터링 - 2</title>
      <link>https://yjnote.tistory.com/184</link>
      <description>&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;# Logstash + Filebeat 설치&lt;/b&gt;&lt;/h2&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #6164c6;&quot;&gt;&lt;b&gt;Logstash 설치&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #6164c6;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://www.elastic.co/guide/en/logstash/current/installing-logstash.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.elastic.co/guide/en/logstash/current/installing-logstash.html&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1711336916860&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Installing Logstash | Logstash Reference [8.12] | Elastic&quot; data-og-description=&quot;Use the echo method described above to add the Logstash repository. Do not use add-apt-repository as it will add a deb-src entry as well, but we do not provide a source package. If you have added the deb-src entry, you will see an error like the following:&quot; data-og-host=&quot;www.elastic.co&quot; data-og-source-url=&quot;https://www.elastic.co/guide/en/logstash/current/installing-logstash.html&quot; data-og-url=&quot;https://www.elastic.co/guide/en/logstash/current/installing-logstash.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.elastic.co/guide/en/logstash/current/installing-logstash.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.elastic.co/guide/en/logstash/current/installing-logstash.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Installing Logstash | Logstash Reference [8.12] | Elastic&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Use the echo method described above to add the Logstash repository. Do not use add-apt-repository as it will add a deb-src entry as well, but we do not provide a source package. If you have added the deb-src entry, you will see an error like the following:&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.elastic.co&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;GPG Key 가져오기&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711335461421&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;yum 저장소 등록&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711335518590&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# vi /etc/yum.repos.d/logstash.repo

[logstash-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;설치&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711335535329&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# yum install logstash&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;데이터 전송할때 사용할 역할 생성 (Kibana를 통해서 진행했다!)&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;ElasticSearch로 보내기위한 계정을 생성하고 역할을 생성한다. &lt;br /&gt;(Logstash데이터를 받기위해 Elasticsearch에 계정생성하는 작업이다)&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-03-07 오전 9.02.20.png&quot; data-origin-width=&quot;2543&quot; data-origin-height=&quot;1325&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/beSW9V/btsF4WPJUFy/k4AmELXQGzb3CsVneBMLT1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/beSW9V/btsF4WPJUFy/k4AmELXQGzb3CsVneBMLT1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/beSW9V/btsF4WPJUFy/k4AmELXQGzb3CsVneBMLT1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbeSW9V%2FbtsF4WPJUFy%2Fk4AmELXQGzb3CsVneBMLT1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2543&quot; height=&quot;1325&quot; data-filename=&quot;스크린샷 2024-03-07 오전 9.02.20.png&quot; data-origin-width=&quot;2543&quot; data-origin-height=&quot;1325&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-03-07 오전 9.09.53.png&quot; data-origin-width=&quot;2543&quot; data-origin-height=&quot;1319&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/buNqsJ/btsF2GG7dlx/7obVfvG52qlo4qhOmdmLk1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/buNqsJ/btsF2GG7dlx/7obVfvG52qlo4qhOmdmLk1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/buNqsJ/btsF2GG7dlx/7obVfvG52qlo4qhOmdmLk1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbuNqsJ%2FbtsF2GG7dlx%2F7obVfvG52qlo4qhOmdmLk1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2543&quot; height=&quot;1319&quot; data-filename=&quot;스크린샷 2024-03-07 오전 9.09.53.png&quot; data-origin-width=&quot;2543&quot; data-origin-height=&quot;1319&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;역할먼저 생성한 과정&lt;br /&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;특정 index에 대한 지정&lt;/span&gt;을 할때는 해당 인덱스만 영향을 받으므로 &lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;*&lt;/span&gt;로 처리해도 문제는 없다. (위와같이 할경우 index가 nginx*, logstash* 항목에 대해서만 작업이 가능)&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;데이터 전송할때 사용할 계정 생성&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-03-07 오전 9.00.06.png&quot; data-origin-width=&quot;2551&quot; data-origin-height=&quot;1310&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6n7Mu/btsF2wEz9o4/PFswkKwf7XvszXKHq5NhY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6n7Mu/btsF2wEz9o4/PFswkKwf7XvszXKHq5NhY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6n7Mu/btsF2wEz9o4/PFswkKwf7XvszXKHq5NhY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6n7Mu%2FbtsF2wEz9o4%2FPFswkKwf7XvszXKHq5NhY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2551&quot; height=&quot;1310&quot; data-filename=&quot;스크린샷 2024-03-07 오전 9.00.06.png&quot; data-origin-width=&quot;2551&quot; data-origin-height=&quot;1310&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2024-03-07 오전 9.15.57.png&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;917&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0OFSf/btsF2F2u9jj/FKF0c2Zgi8xIRpnl1VZDPk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0OFSf/btsF2F2u9jj/FKF0c2Zgi8xIRpnl1VZDPk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0OFSf/btsF2F2u9jj/FKF0c2Zgi8xIRpnl1VZDPk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0OFSf%2FbtsF2F2u9jj%2FFKF0c2Zgi8xIRpnl1VZDPk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1178&quot; height=&quot;917&quot; data-filename=&quot;스크린샷 2024-03-07 오전 9.15.57.png&quot; data-origin-width=&quot;1178&quot; data-origin-height=&quot;917&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #000000;&quot;&gt;아까 만들었던 역할의 권한을 부여하여 계정 생성&lt;br /&gt;이제 logstash 설정 부분을 수정하러 간다.&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;logstash.yml&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711335150973&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# cat /etc/logstash/logstash.yml

path.data: /var/lib/logstash                       # Logstash 데이터 저장 경로
path.config: /etc/logstash/conf.d/*.conf           # 읽어들일 conf 파일들 지정
path.logs: /var/log/logstash                       # Logstash log 저장 경로&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 파일은 수정할건 없었다.&lt;br /&gt;Logstash 데몬에 대한 설정&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Config 파일 구조&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Logstash 설정은 &lt;span style=&quot;background-color: #ffc9af;&quot;&gt;input, filter, output&lt;/span&gt; 3가지로 분류된다.&lt;br /&gt;&lt;b&gt;input&lt;/b&gt; - &lt;span style=&quot;background-color: #f6e199;&quot;&gt;데이터를 수집하는 역할&lt;/span&gt;&lt;br /&gt;&lt;b&gt;filter&lt;/b&gt; - &lt;span style=&quot;background-color: #f6e199;&quot;&gt;데이터를 변환하는 역할&lt;/span&gt;&lt;br /&gt;&lt;b&gt;output&lt;/b&gt; -&lt;span style=&quot;background-color: #f6e199;&quot;&gt; 데이터를 내보내는 역할&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;모든 역할을 한파일로 관리해도되지만 여러개의 conf 파일로 저장하여 관리도 가능하다.&lt;br /&gt;예시)&lt;/p&gt;
&lt;pre id=&quot;code_1711335266282&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# ll /etc/logstash/conf.d/
-rw-r--r--. 1 root root 1281 Mar 21 11:54 filter_nginx.conf          # nginx 관련 filter 내용 정리
-rw-r--r--. 1 root root 2581 Mar 21 15:32 filter_syslog.conf         # syslog 관련 filter 내용 정리
-rw-r--r--. 1 root root   65 Mar 20 14:19 input_filebeat.conf        # filebeat으로 들어오는 input 관련 내용 정리
-rw-r--r--. 1 root root  543 Mar 20 14:35 output_nginx.conf          # nginx 관련 output 내용 정리
-rw-r--r--. 1 root root  516 Mar 20 15:46 output_syslog.conf         # syslog 관련 output 내용 정리&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필자는 간단하게 설명하고자 하나의 파일로 담아서 설명 드립니다!&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;test.conf&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711336112643&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# vi /etc/logstash/conf.d/test.conf


## 데이터를 받아오는곳에 대한 정의
input {
  beats {
    port =&amp;gt; 5044                 ## input으로 받아올 포트 지정
    type =&amp;gt; &quot;filebeat&quot;           ## type 설정 (위 input으로 들어오는 데이터는 필드값이 type : filebeat 으로 지정된다)
  }
}

## 데이터를 grok 언어를 통해 파싱하기.
## if문 사용 가능 (filebeat 설정의 tags 값에 harulife-nginx-server 가 들어있으면 진행)
## grok 언어에 대한 설명은 다음항목에서 설명진행. (grok, ruby등 다양한 언어사용가능)
## mutate 설정은 grok로 쪼개놓은 필드값을 묶어서 필드화 시키는 작업
## remove_field 설정은 쪼개놓은 필드값을 보여주지 않게 설정하는 작업

filter {
  grok {
    if &quot;harulife-nginx-server&quot; in [tags] {
      grok {
        match =&amp;gt; {
          &quot;message&quot; =&amp;gt; [
            &quot;%{WORD:month} %{NUMBER:day} %{NUMBER:hour}:%{NUMBER:minute}:%{NUMBER:second} %{HOSTNAME:hostname} %{DATA:sys_service}\[%{NUMBER:PID}\]: %{GREEDYDATA:message}&quot;,
            &quot;%{WORD:month} %{NUMBER:day} %{NUMBER:hour}:%{NUMBER:minute}:%{NUMBER:second} %{HOSTNAME:hostname} %{DATA:sys_service}: %{GREEDYDATA:message}&quot;
            ]
        }
      }
      mutate {
        add_field =&amp;gt; {
          &quot;time&quot; =&amp;gt; &quot;%{month} %{day} %{hour}:%{minute}:%{second}&quot;
        }
        remove_field =&amp;gt; [&quot;month&quot;, &quot;day&quot;, &quot;hour&quot;, &quot;minute&quot;, &quot;second&quot;]
      }
    }
  }
}

## 데이터를 보낼곳에 대한 정의
## hosts - 보낼곳에 대한 정의
## index - index는 어떤 index에 넣을지 지정 (없으면 생성함)
## cacert - https 통신임으로 통신할때 사용할 인증서 지정
## user - elasticsearch에 데이터를 쌓을수있는 권한을 가진 계정 설정
## password - 계정에 대한 패스워드

output {
  elasticsearch {
    hosts =&amp;gt; [&quot;https://localhost:9200&quot;]
    index =&amp;gt; &quot;nginx-%{+YYYY.MM.dd}&quot;
    cacert =&amp;gt; &quot;/etc/logstash/certs/http_ca.crt&quot;
    user =&amp;gt; &quot;logstash_writer&quot;
    password =&amp;gt; &quot;asdfqwer1234&quot;
  }
}&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;Grok에 대한 설명&lt;/b&gt;&lt;/h4&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://grokdebugger.com/&quot;&gt;https://grokdebugger.com/&lt;/a&gt; 를 통해 로그를 Debug 가능&lt;/p&gt;
&lt;pre id=&quot;code_1711336620549&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;      grok {
        match =&amp;gt; {
          &quot;message&quot; =&amp;gt; [
            &quot;%{WORD:month} %{NUMBER:day} %{NUMBER:hour}:%{NUMBER:minute}:%{NUMBER:second} %{HOSTNAME:hostname} %{DATA:sys_service}\[%{NUMBER:PID}\]: %{GREEDYDATA} %{IPV4:remote_ip}%{GREEDYDATA} %{NUMBER:Port}%{GREEDYDATA}&quot;,
            &quot;%{WORD:month} %{NUMBER:day} %{NUMBER:hour}:%{NUMBER:minute}:%{NUMBER:second} %{SYSLOGHOST:hostname} sshd\[%{NUMBER:pid}\]: error: kex_exchange_identification: client sent invalid protocol identifier \&quot;%{GREEDYDATA:invalid_protocol_identifier}\&quot;&quot;
          ]
        }
      }&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;- grok로 파싱할때 사용할 로그 형태&lt;/b&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2024/03/18 19:37:56 [error] 26349#0: *568 open() &quot;/usr/share/nginx/html/pftp&quot; failed (2: No such file or directory), client: 79.110.62.195, server: _, request: &quot;GET /pftp HTTP/1.1&quot;, host: &quot;43.202.65.196&quot; 2024/03/18 19:37:56 [error] 26349#0: *569 open() &quot;/usr/share/nginx/html/sh&quot; failed (2: No such file or directory), client: 79.110.62.195, server: _, request: &quot;GET /sh HTTP/1.1&quot;, host: &quot;43.202.65.196&quot; 2024/03/18 19:37:57 [error] 26349#0: *570 open() &quot;/usr/share/nginx/html/sshd&quot; failed (2: No such file or directory), client: 79.110.62.195, server: _, request: &quot;GET /sshd HTTP/1.1&quot;, host: &quot;43.202.65.196&quot; 2024/03/18 19:37:57 [error] 26349#0: *571 open() &quot;/usr/share/nginx/html/tftp&quot; failed (2: No such file or directory), client: 79.110.62.195, server: _, request: &quot;GET /tftp HTTP/1.1&quot;, host: &quot;43.202.65.196&quot; 2024/03/18 20:20:55 [error] 26349#0: *573 open() &quot;/usr/share/nginx/html/.env&quot; failed (2: No such file or directory), client: 185.254.196.173, server: _, request: &quot;GET /.env HTTP/1.1&quot;, host: &quot;43.202.65.196&quot; 2024/03/18 21:25:28 [error] 26349#0: *579 open() &quot;/usr/share/nginx/html/.env&quot; failed (2: No such file or directory), client: 177.54.158.94, server: _, request: &quot;GET /.env HTTP/1.1&quot;, host: &quot;43.202.65.196&quot; 2024/03/18 22:02:43 [error] 26349#0: *583 open() &quot;/usr/share/nginx/html/aaa9&quot; failed (2: No such file or directory), client: 137.184.226.250, server: _, request: &quot;GET /aaa9 HTTP/1.1&quot;, host: &quot;43.202.65.196&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span data-token-index=&quot;0&quot;&gt;- grok로 파싱할때 grok 코드&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;%{YEAR:year}/%{MONTHNUM:month}/%{MONTHDAY:day} %{HOUR:hour}:%{MINUTE:minute}:%{SECOND:second} \[%{LOGLEVEL:level}\] %{NUMBER:pid}#%{NUMBER}: \*%{NUMBER} %{GREEDYDATA:message}, client: %{IPORHOST:client}, server: %{DATA:server}, request: &quot;%{WORD:http_method} %{URIPATHPARAM:request} HTTP/%{NUMBER:http_version}\&quot;, host: \&quot;%{IPORHOST:host}\&quot;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span data-token-index=&quot;0&quot;&gt;- grok 코드로 파싱하고 난뒤 결과값&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[ { &quot;year&quot;: 2024, &quot;month&quot;: 3, &quot;day&quot;: 18, &quot;hour&quot;: 19, &quot;minute&quot;: 37, &quot;second&quot;: 56, &quot;level&quot;: &quot;error&quot;, &quot;pid&quot;: 26349, &quot;message&quot;: &quot;open() \&quot;/usr/share/nginx/html/pftp\&quot; failed (2: No such file or directory)&quot;, &quot;client&quot;: &quot;79.110.62.195&quot;, &quot;server&quot;: &quot;_&quot;, &quot;http_method&quot;: &quot;GET&quot;, &quot;request&quot;: &quot;/pftp&quot;, &quot;http_version&quot;: 1.1, &quot;host&quot;: &quot;43.202.65.196&quot; }, { &quot;year&quot;: 2024, &quot;month&quot;: 3, &quot;day&quot;: 18, &quot;hour&quot;: 19, &quot;minute&quot;: 37, &quot;second&quot;: 56, &quot;level&quot;: &quot;error&quot;, &quot;pid&quot;: 26349, &quot;message&quot;: &quot;open() \&quot;/usr/share/nginx/html/sh\&quot; failed (2: No such file or directory)&quot;, &quot;client&quot;: &quot;79.110.62.195&quot;, &quot;server&quot;: &quot;_&quot;, &quot;http_method&quot;: &quot;GET&quot;, &quot;request&quot;: &quot;/sh&quot;, &quot;http_version&quot;: 1.1, &quot;host&quot;: &quot;43.202.65.196&quot; }, { &quot;year&quot;: 2024, &quot;month&quot;: 3, &quot;day&quot;: 18, &quot;hour&quot;: 19, &quot;minute&quot;: 37, &quot;second&quot;: 57, &quot;level&quot;: &quot;error&quot;, &quot;pid&quot;: 26349, &quot;message&quot;: &quot;open() \&quot;/usr/share/nginx/html/sshd\&quot; failed (2: No such file or directory)&quot;, &quot;client&quot;: &quot;79.110.62.195&quot;, &quot;server&quot;: &quot;_&quot;, &quot;http_method&quot;: &quot;GET&quot;, &quot;request&quot;: &quot;/sshd&quot;, &quot;http_version&quot;: 1.1, &quot;host&quot;: &quot;43.202.65.196&quot; }, { &quot;year&quot;: 2024, &quot;month&quot;: 3, &quot;day&quot;: 18, &quot;hour&quot;: 19, &quot;minute&quot;: 37, &quot;second&quot;: 57, &quot;level&quot;: &quot;error&quot;, &quot;pid&quot;: 26349, &quot;message&quot;: &quot;open() \&quot;/usr/share/nginx/html/tftp\&quot; failed (2: No such file or directory)&quot;, &quot;client&quot;: &quot;79.110.62.195&quot;, &quot;server&quot;: &quot;_&quot;, &quot;http_method&quot;: &quot;GET&quot;, &quot;request&quot;: &quot;/tftp&quot;, &quot;http_version&quot;: 1.1, &quot;host&quot;: &quot;43.202.65.196&quot; }, { &quot;year&quot;: 2024, &quot;month&quot;: 3, &quot;day&quot;: 18, &quot;hour&quot;: 20, &quot;minute&quot;: 20, &quot;second&quot;: 55, &quot;level&quot;: &quot;error&quot;, &quot;pid&quot;: 26349, &quot;message&quot;: &quot;open() \&quot;/usr/share/nginx/html/.env\&quot; failed (2: No such file or directory)&quot;, &quot;client&quot;: &quot;185.254.196.173&quot;, &quot;server&quot;: &quot;_&quot;, &quot;http_method&quot;: &quot;GET&quot;, &quot;request&quot;: &quot;/.env&quot;, &quot;http_version&quot;: 1.1, &quot;host&quot;: &quot;43.202.65.196&quot; }, { &quot;year&quot;: 2024, &quot;month&quot;: 3, &quot;day&quot;: 18, &quot;hour&quot;: 21, &quot;minute&quot;: 25, &quot;second&quot;: 28, &quot;level&quot;: &quot;error&quot;, &quot;pid&quot;: 26349, &quot;message&quot;: &quot;open() \&quot;/usr/share/nginx/html/.env\&quot; failed (2: No such file or directory)&quot;, &quot;client&quot;: &quot;177.54.158.94&quot;, &quot;server&quot;: &quot;_&quot;, &quot;http_method&quot;: &quot;GET&quot;, &quot;request&quot;: &quot;/.env&quot;, &quot;http_version&quot;: 1.1, &quot;host&quot;: &quot;43.202.65.196&quot; }, { &quot;year&quot;: 2024, &quot;month&quot;: 3, &quot;day&quot;: 18, &quot;hour&quot;: 22, &quot;minute&quot;: 2, &quot;second&quot;: 43, &quot;level&quot;: &quot;error&quot;, &quot;pid&quot;: 26349, &quot;message&quot;: &quot;open() \&quot;/usr/share/nginx/html/aaa9\&quot; failed (2: No such file or directory)&quot;, &quot;client&quot;: &quot;137.184.226.250&quot;, &quot;server&quot;: &quot;_&quot;, &quot;http_method&quot;: &quot;GET&quot;, &quot;request&quot;: &quot;/aaa9&quot;, &quot;http_version&quot;: 1.1, &quot;host&quot;: &quot;43.202.65.196&quot; } ]&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Logstash에 대한 설명은 끝!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;span style=&quot;color: #6164c6;&quot;&gt;&lt;b&gt;Filebeat 설치&lt;/b&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;color: #6164c6;&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://www.elastic.co/guide/en/beats/filebeat/current/setup-repositories.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.elastic.co/guide/en/beats/filebeat/current/setup-repositories.html&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1711336951669&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Repositories for APT and YUM | Filebeat Reference [8.12] | Elastic&quot; data-og-description=&quot;To add the Elastic repository, make sure that you use the echo method shown in the example. Do not use add-apt-repository because it will add a deb-src entry, but we do not provide a source package. If you have added the deb-src entry by mistake, you will &quot; data-og-host=&quot;www.elastic.co&quot; data-og-source-url=&quot;https://www.elastic.co/guide/en/beats/filebeat/current/setup-repositories.html&quot; data-og-url=&quot;https://www.elastic.co/guide/en/beats/filebeat/current/setup-repositories.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.elastic.co/guide/en/beats/filebeat/current/setup-repositories.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.elastic.co/guide/en/beats/filebeat/current/setup-repositories.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Repositories for APT and YUM | Filebeat Reference [8.12] | Elastic&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;To add the Elastic repository, make sure that you use the echo method shown in the example. Do not use add-apt-repository because it will add a deb-src entry, but we do not provide a source package. If you have added the deb-src entry by mistake, you will&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.elastic.co&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;GPG Key 가져오기&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711336970178&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;yum repo 저장소 추가&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711336990453&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;[elastic-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;filebeat 설치&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711337009487&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# yum install filebeat&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span data-token-index=&quot;0&quot;&gt;filebeat.yml&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711337034534&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;###### INPUT 설정 ######
filebeat.inputs:
###### nginx_access log 설정 ######
  - type: log
    enabled: true
    paths:
      - /var/log/nginx/access.log
    fields:
      server_name: harulife_web
      log_name: nginx_access_log
    tags: [&quot;harulife-nginx-server&quot;, &quot;nginx_access_log&quot;]
    scan_frequency: 5s  ## 해당 로그를 5초간격으로 스캔한다.

###### nginx_error log 설정 ######
  - type: log
    enabled: true
    paths:
      - /var/log/nginx/error.log
    fields:
      server_name: harulife_web
      log_name: nginx_error_log
    tags: [&quot;harulife-nginx-server&quot;, &quot;nginx_error_log&quot;]

###### message log 설정 ######
  - type: log
    enabled: true
    paths:
      - /var/log/messages
    fields:
      server_name: harulife_web
      log_name: message
    tags: [&quot;harulife-nginx-server&quot;, &quot;messages&quot;]

###### secure log 설정 ######
  - type: log
    enabled: true
    paths:
      - /var/log/secure
    fields:
      server_name: harulife_web
      log_name: secure
    tags: [&quot;harulife-nginx-server&quot;, &quot;secure&quot;]


###### modules를 사용 여부 설정 ######
## 기본적으로 제공되는 모듈이 있지만 모두다 본인이 파싱해서 사용하겠다면 false 한다.
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

###### 사용할 shards 수 지정 ######
## 사용빈도가 많다면 해당 값을 늘려준다.
setup.template.settings:
  index.number_of_shards: 1



###### OUTPUT 설정 ######
output.logstash:
  hosts: [&quot;172.31.28.41:5044&quot;]


processors:
  - add_host_metadata:
      when.not.contains.tags: forwarded
  - add_cloud_metadata: ~
  - add_docker_metadata: ~
  - add_kubernetes_metadata: ~


## 로컬에서 debug 설정
logging.level: debug
logging.to_files: true
logging.files:
  path: /var/log/filebeat
  name: filebeat
  keepfiles: 7
  permissions: 0640&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;&lt;span data-token-index=&quot;0&quot;&gt;세분화된 설명&lt;/span&gt;&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711337167614&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  - type: log                             ## Type은 뭘로 할건지 설정
    enabled: true                         ## 실행 할건지 말건지 설정
    paths:                                ## 수집할 로그 paths 설정
      - /var/log/nginx/access.log         
    fields:                               ## 해당 로그에 대해 fields 설정
      server_name: harulife_web               ## fields.server_name 이라는 필드가 생성되며 해당 필드값은 harulife_web 이 된다.
      log_name: nginx_access_log.         
    tags: [&quot;harulife-nginx-server&quot;, &quot;nginx_access_log&quot;]   ## tags가 달린채로 데이터를 넘긴다. (tags 필드도 생김)
    scan_frequency: 5s                    ## 해당 로그를 5초간격으로 스캔한다.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span data-token-index=&quot;0&quot;&gt;위와같이 설정후 이제 Kibana에서 확인하면된다!&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AWS/EC2</category>
      <author>Rohin</author>
      <guid isPermaLink="true">https://yjnote.tistory.com/184</guid>
      <comments>https://yjnote.tistory.com/184#entry184comment</comments>
      <pubDate>Mon, 25 Mar 2024 12:34:06 +0900</pubDate>
    </item>
    <item>
      <title>ELK(Elasticsearch + Logstash + Kibana + Filebeat)로그 모니터링 - 1</title>
      <link>https://yjnote.tistory.com/183</link>
      <description>&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;# ELK란&lt;/b&gt;&lt;/h2&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt; ELK란 Elasticsearch + Logstash + Kibana 를 통한 모니터링을 뜻합니다.&lt;/p&gt;
&lt;div id=&quot;mttContainer&quot; class=&quot;notranslate&quot; style=&quot;transform: translate(285px, 960px);&quot; aria-expanded=&quot;false&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;제목 없는 다이어그램.drawio (1) (1).png&quot; data-origin-width=&quot;558&quot; data-origin-height=&quot;450&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pcym7/btsFZEbtUbF/xRiVHp219XRA4hTJLaZUr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pcym7/btsFZEbtUbF/xRiVHp219XRA4hTJLaZUr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pcym7/btsFZEbtUbF/xRiVHp219XRA4hTJLaZUr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpcym7%2FbtsFZEbtUbF%2FxRiVHp219XRA4hTJLaZUr1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;558&quot; height=&quot;450&quot; data-filename=&quot;제목 없는 다이어그램.drawio (1) (1).png&quot; data-origin-width=&quot;558&quot; data-origin-height=&quot;450&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 일반적으로 구조한다면 위와같은 구조로 진행하게 됩니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;저는 아주 기본적으로 설치해보고 설정하는 작업을 진행해볼 예정입니다.&lt;br /&gt;설치 진행은 &lt;span style=&quot;background-color: #f6e199;&quot;&gt;elasticsearch - kibana - logstash - filebeat&lt;/span&gt; 순으로 진행할 예정입니다.&lt;br /&gt;기본설치이므로 공식홈페이지를 참조해서 설치 진행하셔도 무방합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Elasticsearch rpm 설치 공홈&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1711334639166&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Installing Elasticsearch | Elasticsearch Guide [8.12] | Elastic&quot; data-og-description=&quot;To try out Elasticsearch on your own machine, we recommend using Docker and running both Elasticsearch and Kibana. For more information, see Run Elasticsearch locally.&quot; data-og-host=&quot;www.elastic.co&quot; data-og-source-url=&quot;https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html&quot; data-og-url=&quot;https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.elastic.co/guide/en/elasticsearch/reference/current/install-elasticsearch.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Installing Elasticsearch | Elasticsearch Guide [8.12] | Elastic&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;To try out Elasticsearch on your own machine, we recommend using Docker and running both Elasticsearch and Kibana. For more information, see Run Elasticsearch locally.&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.elastic.co&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;Kibana rpm 설치 공홈&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;a href=&quot;https://www.elastic.co/guide/en/kibana/current/rpm.html&quot;&gt;https://www.elastic.co/guide/en/kibana/current/rpm.html&lt;/a&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1711334677632&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;Install Kibana with RPM | Kibana Guide [8.12] | Elastic&quot; data-og-description=&quot;Install Kibana with RPMedit The RPM for Kibana can be downloaded from our website or from our RPM repository. It can be used to install Kibana on any RPM-based system such as OpenSuSE, SLES, Red Hat, and Oracle Enterprise. This package contains both free a&quot; data-og-host=&quot;www.elastic.co&quot; data-og-source-url=&quot;https://www.elastic.co/guide/en/kibana/current/rpm.html&quot; data-og-url=&quot;https://www.elastic.co/guide/en/kibana/current/rpm.html&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://www.elastic.co/guide/en/kibana/current/rpm.html&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://www.elastic.co/guide/en/kibana/current/rpm.html&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;Install Kibana with RPM | Kibana Guide [8.12] | Elastic&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;Install Kibana with RPMedit The RPM for Kibana can be downloaded from our website or from our RPM repository. It can be used to install Kibana on any RPM-based system such as OpenSuSE, SLES, Red Hat, and Oracle Enterprise. This package contains both free a&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;www.elastic.co&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;# 환경&lt;/b&gt;&lt;/h2&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;제목 없는 다이어그램.drawio (2).png&quot; data-origin-width=&quot;358&quot; data-origin-height=&quot;144&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cvpCB0/btsFXLbILlU/XKKK5UT4HZG7reHPPXWErk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cvpCB0/btsFXLbILlU/XKKK5UT4HZG7reHPPXWErk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cvpCB0/btsFXLbILlU/XKKK5UT4HZG7reHPPXWErk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcvpCB0%2FbtsFXLbILlU%2FXKKK5UT4HZG7reHPPXWErk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;358&quot; height=&quot;144&quot; data-filename=&quot;제목 없는 다이어그램.drawio (2).png&quot; data-origin-width=&quot;358&quot; data-origin-height=&quot;144&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;AWS - EC2 2대&lt;br /&gt;&lt;/span&gt;OS - &lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;Rocky Linux release 8.9 (Green Obsidian)&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;elasticsearch - &lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;elasticsearch-8.12.2-1.x86_64&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;kibana - &lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;kibana-8.12.2-1.x86_64&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;logstash - &lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;logstash-8.12.2-1.x86_64&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;filebeat - &lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;filebeat-8.12.2-1.x86_64&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;b&gt;# ElasticSearch + Kibana 설치&lt;/b&gt;&lt;/h2&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #6164c6;&quot;&gt;&lt;b&gt;ElasticSearch 설치&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- GPG key 가져오기&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711077210003&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- repository 등록&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711077263334&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# vi /etc/yum.repos.d/elasticsearch.repo

[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- elasticsearch 설치&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711077396919&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# dnf install --enablerepo=elasticsearch elasticsearch&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- elasticsearch.yml&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711077443258&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# cat /etc/elasticsearch/elasticsearch.yml

path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch

xpack.security.enabled: true
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:
  enabled: true
  keystore.path: certs/http.p12

xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
cluster.initial_master_nodes: [&quot;ec2_host_name&quot;]

http.host: 0.0.0.0&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;path.data&lt;/b&gt; : data 저장 경로&lt;br /&gt;&lt;b&gt;path.logs&lt;/b&gt; : log 저장 경로&lt;br /&gt;&lt;b&gt;xpack.security.enabled&lt;/b&gt; : xpack.security를 활성화 할건지 여부 설정&lt;br /&gt;&lt;b&gt;xpack.security.enrollment.enabled&lt;/b&gt; : 클러스터에 노드를 등록하기 위한 보안 등록 활성화&lt;br /&gt;&lt;b&gt;xpack.security.http.ssl&lt;/b&gt; : http 통신에 ssl 설정&lt;br /&gt;&lt;b&gt;xpack.security.transport.ssl&lt;/b&gt; : 노드간 통신에 대한 SSL 설정&lt;br /&gt;&lt;b&gt;cluster.initial_master_nodes&lt;/b&gt; : 클러스터의 초기 마스터 노드 지정&lt;br /&gt;&lt;b&gt;http.host&lt;/b&gt; : http 접근을 허용할 ip (0.0.0.0 or 123.123.123.123) 전체 열거나 or ip 1개만 지정하거나 밖에 안됨.&lt;br /&gt;&lt;br /&gt;위 설정들은 기본설정에 대한 값이므로 추가적으로 클러스터 구성할시 아래와 같은 설정을 할수도 있다.&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;pre class=&quot;bash&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;조만간 알려줌&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- elasticsearch 시작&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711077773031&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;systemctl start elasticsearch&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- elastic 계정 패스워드 설정&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711077805380&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- 설치 확인&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled (1).png&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;352&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chPqdJ/btsFYnhdCTt/NbvSbIk4x5LjEUNEIiu8I1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chPqdJ/btsFYnhdCTt/NbvSbIk4x5LjEUNEIiu8I1/img.png&quot; data-alt=&quot;elasticsearch 9200 port로 접근했을때 모습&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chPqdJ/btsFYnhdCTt/NbvSbIk4x5LjEUNEIiu8I1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FchPqdJ%2FbtsFYnhdCTt%2FNbvSbIk4x5LjEUNEIiu8I1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1281&quot; height=&quot;352&quot; data-filename=&quot;Untitled (1).png&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;352&quot;/&gt;&lt;/span&gt;&lt;figcaption&gt;elasticsearch 9200 port로 접근했을때 모습&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled (2).png&quot; data-origin-width=&quot;548&quot; data-origin-height=&quot;367&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cSD9PM/btsFYOZOHlE/wHs92z9nCRojyfkxDgs0W1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cSD9PM/btsFYOZOHlE/wHs92z9nCRojyfkxDgs0W1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cSD9PM/btsFYOZOHlE/wHs92z9nCRojyfkxDgs0W1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcSD9PM%2FbtsFYOZOHlE%2FwHs92z9nCRojyfkxDgs0W1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;548&quot; height=&quot;367&quot; data-filename=&quot;Untitled (2).png&quot; data-origin-width=&quot;548&quot; data-origin-height=&quot;367&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1711077908940&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;curl --cacert &quot;ca인증서경로&quot; -u 계정:계정패스워드 https://[ip or localhost]:9200

ex)
# curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic:asdfqwer1234 https://localhost:9200
{
  &quot;name&quot; : &quot;ip-172-31-28-41.ap-northeast-2.compute.internal&quot;,
  &quot;cluster_name&quot; : &quot;elasticsearch&quot;,
  &quot;cluster_uuid&quot; : &quot;F6xRGkkMSmWtPboJKeztbg&quot;,
  &quot;version&quot; : {
    &quot;number&quot; : &quot;8.12.2&quot;,
    &quot;build_flavor&quot; : &quot;default&quot;,
    &quot;build_type&quot; : &quot;rpm&quot;,
    &quot;build_hash&quot; : &quot;48a287ab9497e852de30327444b0809e55d46466&quot;,
    &quot;build_date&quot; : &quot;2024-02-19T10:04:32.774273190Z&quot;,
    &quot;build_snapshot&quot; : false,
    &quot;lucene_version&quot; : &quot;9.9.2&quot;,
    &quot;minimum_wire_compatibility_version&quot; : &quot;7.17.0&quot;,
    &quot;minimum_index_compatibility_version&quot; : &quot;7.0.0&quot;
  },
  &quot;tagline&quot; : &quot;You Know, for Search&quot;
}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와같이 나온다면 ElasticSearch 설치 성공!&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;color: #6164c6;&quot;&gt;&lt;b&gt;Kibana 설치&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- PGP key 가져오기&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711078384238&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- yum repository 등록&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711078402603&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# vi /etc/yum.repos.d/kibana.repo

[kibana-8.x]
name=Kibana repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- kibana 설치&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711078420023&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;dnf install kibana&lt;/code&gt;&lt;/pre&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- kibana.yml&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711078475891&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;server.port: 5601            # 주석제거
server.host: &quot;0.0.0.0&quot;       # 주석제거 및 수정

logging:
  appenders:
    file:
      type: file
      fileName: /var/log/kibana/kibana.log
      layout:
        type: json
  root:
    appenders:
      - default
      - file

pid.file: /run/kibana/kibana.pid&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;server.port&lt;/b&gt; : 포트 지정&lt;br /&gt;&lt;b&gt;server.host&lt;/b&gt; : 접근을 허용할 ip 지정&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- kibana 실행&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711078548356&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;systemctl start kibana&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- kibana web 접근&lt;/b&gt;&lt;/h4&gt;
&lt;pre id=&quot;code_1711078568697&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;http://[IP or 도메인]:5601
ex) http://15.165.15.16:5601/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled (3).png&quot; data-origin-width=&quot;2220&quot; data-origin-height=&quot;1458&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dFTgjM/btsFZHsmBGi/ivVJYFB6aFj1tCCI5KvJRk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dFTgjM/btsFZHsmBGi/ivVJYFB6aFj1tCCI5KvJRk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dFTgjM/btsFZHsmBGi/ivVJYFB6aFj1tCCI5KvJRk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdFTgjM%2FbtsFZHsmBGi%2FivVJYFB6aFj1tCCI5KvJRk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2220&quot; height=&quot;1458&quot; data-filename=&quot;Untitled (3).png&quot; data-origin-width=&quot;2220&quot; data-origin-height=&quot;1458&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;- &lt;span style=&quot;color: #6164c6;&quot;&gt;&lt;b&gt;elasticsearch 서버&lt;/b&gt;&lt;/span&gt; 에서 kibana 토큰 생성&lt;/h4&gt;
&lt;pre id=&quot;code_1711078665699&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

eyJ2ZXIiOiI4LjEyLjIiLCJhZHIiOlsiMTcyLjMxLjMuMjI5OjkyMDAiXSwiZmdyIjoiYjczNTQzYjI4MDIxNDQ5YmY2MDBjYThkYmVlODg4ZjIyMTUyZGY1MTk1NTFkZDk1NDlkYjVkZGU3YzU1Mzg0OSIsImtleSI6Iklib2ZGbzRCdVduX2tIR3J4Vmh2OlJKaDFQV0tzUjJXZU5HR3Vid3VpWEEifQ==&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- 추출한 토큰값 입력&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled (4).png&quot; data-origin-width=&quot;2438&quot; data-origin-height=&quot;1358&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/0mh9a/btsF09haNsu/74IEszzGq8CP0bmKNz8jNK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/0mh9a/btsF09haNsu/74IEszzGq8CP0bmKNz8jNK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/0mh9a/btsF09haNsu/74IEszzGq8CP0bmKNz8jNK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F0mh9a%2FbtsF09haNsu%2F74IEszzGq8CP0bmKNz8jNK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2438&quot; height=&quot;1358&quot; data-filename=&quot;Untitled (4).png&quot; data-origin-width=&quot;2438&quot; data-origin-height=&quot;1358&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 style=&quot;color: #000000; text-align: start;&quot; data-ke-size=&quot;size20&quot;&gt;-&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6164c6;&quot;&gt;&lt;b&gt;kibana 서버&lt;/b&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;에서 verification-code 추출&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled (5).png&quot; data-origin-width=&quot;2192&quot; data-origin-height=&quot;1472&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bJViS8/btsFY7kHPzT/WbcrjdKJHyD8VTTp7vuyyk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bJViS8/btsFY7kHPzT/WbcrjdKJHyD8VTTp7vuyyk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bJViS8/btsFY7kHPzT/WbcrjdKJHyD8VTTp7vuyyk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbJViS8%2FbtsFY7kHPzT%2FWbcrjdKJHyD8VTTp7vuyyk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2192&quot; height=&quot;1472&quot; data-filename=&quot;Untitled (5).png&quot; data-origin-width=&quot;2192&quot; data-origin-height=&quot;1472&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1711078774608&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# /usr/share/kibana/bin/kibana-verification-code

Your verification code is:  283 795&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- 설치 진행&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled (6).png&quot; data-origin-width=&quot;2230&quot; data-origin-height=&quot;1600&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b7fxqe/btsFY60rPvg/d7d4PSDWMBC80qvqu9armK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b7fxqe/btsFY60rPvg/d7d4PSDWMBC80qvqu9armK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b7fxqe/btsFY60rPvg/d7d4PSDWMBC80qvqu9armK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb7fxqe%2FbtsFY60rPvg%2Fd7d4PSDWMBC80qvqu9armK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2230&quot; height=&quot;1600&quot; data-filename=&quot;Untitled (6).png&quot; data-origin-width=&quot;2230&quot; data-origin-height=&quot;1600&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- 설치 완료 및 elastic 계정으로 로그인&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled (7).png&quot; data-origin-width=&quot;2072&quot; data-origin-height=&quot;1272&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bsltCQ/btsFZIY7LXi/mGV9OzKgPMRtrSuS0DWan0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bsltCQ/btsFZIY7LXi/mGV9OzKgPMRtrSuS0DWan0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bsltCQ/btsFZIY7LXi/mGV9OzKgPMRtrSuS0DWan0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsltCQ%2FbtsFZIY7LXi%2FmGV9OzKgPMRtrSuS0DWan0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2072&quot; height=&quot;1272&quot; data-filename=&quot;Untitled (7).png&quot; data-origin-width=&quot;2072&quot; data-origin-height=&quot;1272&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;h4 data-ke-size=&quot;size20&quot;&gt;&lt;b&gt;- Kibana 설치 완료&lt;/b&gt;&lt;/h4&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Untitled (8).png&quot; data-origin-width=&quot;3426&quot; data-origin-height=&quot;2056&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dYad54/btsFYGgA9q4/REUZtFADCH5BIbtLadvW2k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dYad54/btsFYGgA9q4/REUZtFADCH5BIbtLadvW2k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dYad54/btsFYGgA9q4/REUZtFADCH5BIbtLadvW2k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdYad54%2FbtsFYGgA9q4%2FREUZtFADCH5BIbtLadvW2k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;3426&quot; height=&quot;2056&quot; data-filename=&quot;Untitled (8).png&quot; data-origin-width=&quot;3426&quot; data-origin-height=&quot;2056&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 작업으로 Elasticsearch와 kibana 설치가 완료되었습니다.&lt;br /&gt;이후 Logstash와 filebeat 관련하여 가이드 하도록하겠습니다!&lt;br /&gt;감사합니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>AWS/EC2</category>
      <author>Rohin</author>
      <guid isPermaLink="true">https://yjnote.tistory.com/183</guid>
      <comments>https://yjnote.tistory.com/183#entry183comment</comments>
      <pubDate>Fri, 22 Mar 2024 12:53:45 +0900</pubDate>
    </item>
    <item>
      <title>Kibana process does not have enough permissions to write to config file</title>
      <link>https://yjnote.tistory.com/182</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;환경&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;OS - Rocky&amp;nbsp;Linux&amp;nbsp;release&amp;nbsp;8.9&amp;nbsp;(Green&amp;nbsp;Obsidian)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;kibana - kibana-8.12.2-1.x86_64&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와같은 상황에서 elasticsearch와 연결하는 도중 에러 발생&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;621&quot; data-origin-height=&quot;372&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bSVIUj/btsFpP4U4u9/jICuhoXQas0NRCzxIVLlZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bSVIUj/btsFpP4U4u9/jICuhoXQas0NRCzxIVLlZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bSVIUj/btsFpP4U4u9/jICuhoXQas0NRCzxIVLlZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbSVIUj%2FbtsFpP4U4u9%2FjICuhoXQas0NRCzxIVLlZk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;621&quot; height=&quot;372&quot; data-origin-width=&quot;621&quot; data-origin-height=&quot;372&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;로그내용은&lt;/p&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;{&quot;service&quot;:{&quot;node&quot;:{&quot;roles&quot;:[&quot;background_tasks&quot;,&quot;ui&quot;]}},&quot;ecs&quot;:{&quot;version&quot;:&quot;8.6.1&quot;},&quot;@timestamp&quot;:&quot;2024-02-28T08:48:09.577+00:00&quot;,&quot;message&quot;:&quot;Kibana&amp;nbsp;process&amp;nbsp;does&amp;nbsp;not&amp;nbsp;have&amp;nbsp;enough&amp;nbsp;permissions&amp;nbsp;to&amp;nbsp;write&amp;nbsp;to&amp;nbsp;config&amp;nbsp;file&quot;,&quot;log&quot;:{&quot;level&quot;:&quot;ERROR&quot;,&quot;logger&quot;:&quot;plugins.interactiveSetup.routes&quot;},&quot;process&quot;:{&quot;pid&quot;:29237,&quot;uptime&quot;:60.970777975},&quot;trace&quot;:{&quot;id&quot;:&quot;c2f013435d6810ae4b7cfdeadc8c6fd6&quot;},&quot;transaction&quot;:{&quot;id&quot;:&quot;3e1f6a38fb56ed87&quot;}}&lt;br /&gt;{&quot;service&quot;:{&quot;node&quot;:{&quot;roles&quot;:[&quot;background_tasks&quot;,&quot;ui&quot;]}},&quot;ecs&quot;:{&quot;version&quot;:&quot;8.6.1&quot;},&quot;@timestamp&quot;:&quot;2024-02-28T08:48:18.739+00:00&quot;,&quot;message&quot;:&quot;Kibana&amp;nbsp;process&amp;nbsp;does&amp;nbsp;not&amp;nbsp;have&amp;nbsp;enough&amp;nbsp;permissions&amp;nbsp;to&amp;nbsp;write&amp;nbsp;to&amp;nbsp;config&amp;nbsp;file&quot;,&quot;log&quot;:{&quot;level&quot;:&quot;ERROR&quot;,&quot;logger&quot;:&quot;plugins.interactiveSetup.routes&quot;},&quot;process&quot;:{&quot;pid&quot;:29237,&quot;uptime&quot;:70.132319032},&quot;trace&quot;:{&quot;id&quot;:&quot;3aa48afa00f06c777e68311c854c52a6&quot;},&quot;transaction&quot;:{&quot;id&quot;:&quot;104089caae85a603&quot;}}&lt;br /&gt;{&quot;service&quot;:{&quot;node&quot;:{&quot;roles&quot;:[&quot;background_tasks&quot;,&quot;ui&quot;]}},&quot;ecs&quot;:{&quot;version&quot;:&quot;8.6.1&quot;},&quot;@timestamp&quot;:&quot;2024-02-28T08:48:19.327+00:00&quot;,&quot;message&quot;:&quot;Kibana&amp;nbsp;process&amp;nbsp;does&amp;nbsp;not&amp;nbsp;have&amp;nbsp;enough&amp;nbsp;permissions&amp;nbsp;to&amp;nbsp;write&amp;nbsp;to&amp;nbsp;config&amp;nbsp;file&quot;,&quot;log&quot;:{&quot;level&quot;:&quot;ERROR&quot;,&quot;logger&quot;:&quot;plugins.interactiveSetup.routes&quot;},&quot;process&quot;:{&quot;pid&quot;:29237,&quot;uptime&quot;:70.720541749},&quot;trace&quot;:{&quot;id&quot;:&quot;7a7548fd1cfe2fc3f0d0e690e6d883dc&quot;},&quot;transaction&quot;:{&quot;id&quot;:&quot;e78ad012b27c3c2f&quot;}}&lt;br /&gt;{&quot;service&quot;:{&quot;node&quot;:{&quot;roles&quot;:[&quot;background_tasks&quot;,&quot;ui&quot;]}},&quot;ecs&quot;:{&quot;version&quot;:&quot;8.6.1&quot;},&quot;@timestamp&quot;:&quot;2024-02-28T08:48:19.629+00:00&quot;,&quot;message&quot;:&quot;Kibana&amp;nbsp;process&amp;nbsp;does&amp;nbsp;not&amp;nbsp;have&amp;nbsp;enough&amp;nbsp;permissions&amp;nbsp;to&amp;nbsp;write&amp;nbsp;to&amp;nbsp;config&amp;nbsp;file&quot;,&quot;log&quot;:{&quot;level&quot;:&quot;ERROR&quot;,&quot;logger&quot;:&quot;plugins.interactiveSetup.routes&quot;},&quot;process&quot;:{&quot;pid&quot;:29237,&quot;uptime&quot;:71.02260384},&quot;trace&quot;:{&quot;id&quot;:&quot;ee46755b3c4959901acf0f6b4b8179ae&quot;},&quot;transaction&quot;:{&quot;id&quot;:&quot;e65e6dbc90c5e347&quot;}}&lt;br /&gt;{&quot;service&quot;:{&quot;node&quot;:{&quot;roles&quot;:[&quot;background_tasks&quot;,&quot;ui&quot;]}},&quot;ecs&quot;:{&quot;version&quot;:&quot;8.6.1&quot;},&quot;@timestamp&quot;:&quot;2024-02-28T08:48:19.907+00:00&quot;,&quot;message&quot;:&quot;Kibana&amp;nbsp;process&amp;nbsp;does&amp;nbsp;not&amp;nbsp;have&amp;nbsp;enough&amp;nbsp;permissions&amp;nbsp;to&amp;nbsp;write&amp;nbsp;to&amp;nbsp;config&amp;nbsp;file&quot;,&quot;log&quot;:{&quot;level&quot;:&quot;ERROR&quot;,&quot;logger&quot;:&quot;plugins.interactiveSetup.routes&quot;},&quot;process&quot;:{&quot;pid&quot;:29237,&quot;uptime&quot;:71.300754019},&quot;trace&quot;:{&quot;id&quot;:&quot;0c8513402e0b01feae4b0b6335b8563b&quot;},&quot;transaction&quot;:{&quot;id&quot;:&quot;5b2d82a3c8fc2a4f&quot;}}&lt;br /&gt;{&quot;service&quot;:{&quot;node&quot;:{&quot;roles&quot;:[&quot;background_tasks&quot;,&quot;ui&quot;]}},&quot;ecs&quot;:{&quot;version&quot;:&quot;8.6.1&quot;},&quot;@timestamp&quot;:&quot;2024-02-28T08:48:33.170+00:00&quot;,&quot;message&quot;:&quot;Kibana&amp;nbsp;process&amp;nbsp;does&amp;nbsp;not&amp;nbsp;have&amp;nbsp;enough&amp;nbsp;permissions&amp;nbsp;to&amp;nbsp;write&amp;nbsp;to&amp;nbsp;config&amp;nbsp;file&quot;,&quot;log&quot;:{&quot;level&quot;:&quot;ERROR&quot;,&quot;logger&quot;:&quot;plugins.interactiveSetup.routes&quot;},&quot;process&quot;:{&quot;pid&quot;:29237,&quot;uptime&quot;:84.564077047},&quot;trace&quot;:{&quot;id&quot;:&quot;284274fb43c2608dfd8e438c509f2c1b&quot;},&quot;transaction&quot;:{&quot;id&quot;:&quot;88cea3d662778f46&quot;}}&lt;br /&gt;{&quot;service&quot;:{&quot;node&quot;:{&quot;roles&quot;:[&quot;background_tasks&quot;,&quot;ui&quot;]}},&quot;ecs&quot;:{&quot;version&quot;:&quot;8.6.1&quot;},&quot;@timestamp&quot;:&quot;2024-02-28T08:48:33.662+00:00&quot;,&quot;message&quot;:&quot;Kibana&amp;nbsp;process&amp;nbsp;does&amp;nbsp;not&amp;nbsp;have&amp;nbsp;enough&amp;nbsp;permissions&amp;nbsp;to&amp;nbsp;write&amp;nbsp;to&amp;nbsp;config&amp;nbsp;file&quot;,&quot;log&quot;:{&quot;level&quot;:&quot;ERROR&quot;,&quot;logger&quot;:&quot;plugins.interactiveSetup.routes&quot;},&quot;process&quot;:{&quot;pid&quot;:29237,&quot;uptime&quot;:85.055452613},&quot;trace&quot;:{&quot;id&quot;:&quot;646c534e0c4ed7ec0cd5a123ddcb09be&quot;},&quot;transaction&quot;:{&quot;id&quot;:&quot;6ef01386d0d8a833&quot;}}&lt;br /&gt;{&quot;service&quot;:{&quot;node&quot;:{&quot;roles&quot;:[&quot;background_tasks&quot;,&quot;ui&quot;]}},&quot;ecs&quot;:{&quot;version&quot;:&quot;8.6.1&quot;},&quot;@timestamp&quot;:&quot;2024-02-28T08:49:03.656+00:00&quot;,&quot;message&quot;:&quot;Kibana&amp;nbsp;process&amp;nbsp;does&amp;nbsp;not&amp;nbsp;have&amp;nbsp;enough&amp;nbsp;permissions&amp;nbsp;to&amp;nbsp;write&amp;nbsp;to&amp;nbsp;config&amp;nbsp;file&quot;,&quot;log&quot;:{&quot;level&quot;:&quot;ERROR&quot;,&quot;logger&quot;:&quot;plugins.interactiveSetup.routes&quot;},&quot;process&quot;:{&quot;pid&quot;:29237,&quot;uptime&quot;:115.049593532},&quot;trace&quot;:{&quot;id&quot;:&quot;dc3f965b099c0ebf60cdadb8550b0804&quot;},&quot;transaction&quot;:{&quot;id&quot;:&quot;199049e01f7fb4d0&quot;}}&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;파일에 대한 권한이 없어서 그러는 것임.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;kibana.yml 파일 권한을 664로 수정&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;kibana 재시작 이후 다시 진행&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;933&quot; data-origin-height=&quot;754&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/b6qeXv/btsFpR9u6gt/3qzrQwHZJ8Gm0XAhA3bHhK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/b6qeXv/btsFpR9u6gt/3qzrQwHZJ8Gm0XAhA3bHhK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/b6qeXv/btsFpR9u6gt/3qzrQwHZJ8Gm0XAhA3bHhK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb6qeXv%2FbtsFpR9u6gt%2F3qzrQwHZJ8Gm0XAhA3bHhK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;933&quot; height=&quot;754&quot; data-origin-width=&quot;933&quot; data-origin-height=&quot;754&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 성공적으로 진행.&lt;/p&gt;</description>
      <category>AWS/EC2</category>
      <author>Rohin</author>
      <guid isPermaLink="true">https://yjnote.tistory.com/182</guid>
      <comments>https://yjnote.tistory.com/182#entry182comment</comments>
      <pubDate>Wed, 28 Feb 2024 18:28:54 +0900</pubDate>
    </item>
    <item>
      <title>ERROR: Failed to determine the health of the cluster. Unexpected http status [503], with exit code 65</title>
      <link>https://yjnote.tistory.com/181</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;환경&lt;/p&gt;
&lt;pre id=&quot;code_1708502498760&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;OS - Rocky Linux release 8.9 (Green Obsidian)
elasticsearch - elasticsearch-8.12.1-1.x86_64&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;elasticsearch를 클러스터 구성한 이후 elastic 계정에 대한 패스워드를 수정하려니 오류가 발생했다.&lt;/p&gt;
&lt;pre id=&quot;code_1708502521623&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i

ERROR: Failed to determine the health of the cluster. Unexpected http status [503], with exit code 65

# /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

ERROR: Failed to determine the health of the cluster. Unexpected http status [503], with exit code 65&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;클러스터 상황이라 문제되는것으로 보여진다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;elasticsearch.yml 파일에서 &lt;span style=&quot;background-color: #f6e199;&quot;&gt;cluster.initial_master_nodes, discovery.seed_hosts&lt;/span&gt;을 주석처리한뒤 &lt;span style=&quot;background-color: #99cefa;&quot;&gt;discovery.type: single-node&lt;/span&gt; 추가&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1730&quot; data-origin-height=&quot;164&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/binAT7/btsFbgIR3Ie/LDCpzWf3zkg1KtSgQyWlrK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/binAT7/btsFbgIR3Ie/LDCpzWf3zkg1KtSgQyWlrK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/binAT7/btsFbgIR3Ie/LDCpzWf3zkg1KtSgQyWlrK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbinAT7%2FbtsFbgIR3Ie%2FLDCpzWf3zkg1KtSgQyWlrK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1730&quot; height=&quot;164&quot; data-origin-width=&quot;1730&quot; data-origin-height=&quot;164&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이후 elasticsearch 재시작 이후 다시 명령어 진행&lt;/p&gt;
&lt;pre id=&quot;code_1708502808508&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;# /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i
This tool will reset the password of the [elastic] user.
You will be prompted to enter the password.
Please confirm that you would like to continue [y/N]y


Enter password for [elastic]: 
Re-enter password for [elastic]: 
Password for the [elastic] user successfully reset.&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;계정 패스워드를 변경했으면 다시 클러스터링 elasticsearch.yml 파일 수정후 클러스터 구성&lt;/p&gt;</description>
      <category>AWS/EC2</category>
      <author>Rohin</author>
      <guid isPermaLink="true">https://yjnote.tistory.com/181</guid>
      <comments>https://yjnote.tistory.com/181#entry181comment</comments>
      <pubDate>Wed, 21 Feb 2024 17:10:31 +0900</pubDate>
    </item>
    <item>
      <title>Ansible 변수 관련 내용</title>
      <link>https://yjnote.tistory.com/180</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;필자는 ansible을 처음 접하는 과정이다. 아래 설명은 ansible-playbook 기반으로 설명한다.&lt;br /&gt;ansible을 사용하면서 좀더 이해하기 쉽게 변수에 대한 설명을 풀어서 점차 기록을 늘려갈 예정이다.&lt;br /&gt;혹시라도 잘못알고있다던지 틀리다면 피드백 요청바랍니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;server.ini&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 파일에는 ansible로 서버를 컨트롤 하기위해 접근하려는 서버의 정보를 기입하게 되어있습니다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;보통 아래와 같이 적습니다.&lt;br /&gt;&lt;br /&gt;[ server ] #명칭은 본인이 원하는대로 수정가능&lt;br /&gt;harulife-1&amp;nbsp; &amp;nbsp; &amp;nbsp; ansible_host= 1.2.3.4&amp;nbsp; &amp;nbsp; &amp;nbsp;haru_name=&quot;harulife&quot;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#이와같이 내용은 아무렇게나 적어도된다.&lt;br /&gt;&lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;harulife-2&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;background-color: #fafafa; color: #333333; text-align: start;&quot;&gt;ansible_&lt;/span&gt;host= 4.3.2.1&amp;nbsp; &amp;nbsp; &amp;nbsp;haru_name=&quot;harulife_bak&quot;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;[ server:vars ] #위에서 정의한 그룹에 대한 변수설정이다.&lt;br /&gt;ansible_port=22&lt;br /&gt;ansible_user=rocky&lt;br /&gt;ansible_ssh_private_key_file=~/.xxx/xxx/xxx.pem&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;hostvars&lt;/li&gt;
&lt;/ul&gt;
&lt;div data-ke-type=&quot;moreLess&quot; data-text-more=&quot;더보기&quot; data-text-less=&quot;닫기&quot;&gt;&lt;a class=&quot;btn-toggle-moreless&quot;&gt;더보기&lt;/a&gt;
&lt;div class=&quot;moreless-content&quot;&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 server.ini 파일에서 정의한 내용을 가져다 쓸수있는 변수처리다.&lt;/p&gt;
&lt;pre class=&quot;css&quot;&gt;&lt;code&gt;hostvars[host].ansible_host&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;위와같이 변수값을 호출하게되면&amp;nbsp;&lt;br /&gt;harulife-1 서버는&lt;br /&gt;1.2.3.4&lt;br /&gt;harulife-2서버는&lt;br /&gt;4.3.2.1&lt;br /&gt;&lt;br /&gt;위와같이 호출하게 된다&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>DevOps/Ansible</category>
      <author>Rohin</author>
      <guid isPermaLink="true">https://yjnote.tistory.com/180</guid>
      <comments>https://yjnote.tistory.com/180#entry180comment</comments>
      <pubDate>Thu, 8 Feb 2024 11:34:56 +0900</pubDate>
    </item>
    <item>
      <title>EC2 키 페어 관리</title>
      <link>https://yjnote.tistory.com/178</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;EC2 생성시 키페어를 생성하여 접근하게 설정할수도 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그런데 한가지 궁금한부분은 키페어를 생성하면&amp;nbsp;&lt;br /&gt;&lt;span style=&quot;background-color: #99cefa;&quot;&gt;EC2 -&amp;gt; 키 페어&lt;/span&gt; 리스트에 생성했던 키페어 리스트가 나온다.&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: #c1bef9;&quot;&gt;&lt;b&gt;위 항목에서 키페어가 삭제되면 서버 접근이 불가할까?&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;답은 &lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;키페어 파일을 가지고있다면 접근이 가능하다!&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당 항목은 단지 생성했던 리스트를 보여줄뿐 제어까지 되어지진 않는것으로 보여진다.&lt;br /&gt;&lt;b&gt;접근을 불가하게 하려면 EC2내에서 기존에 있는 키페어 정보를 제거해야 한다!&lt;/b&gt;&lt;/p&gt;</description>
      <category>AWS/EC2</category>
      <author>Rohin</author>
      <guid isPermaLink="true">https://yjnote.tistory.com/178</guid>
      <comments>https://yjnote.tistory.com/178#entry178comment</comments>
      <pubDate>Thu, 1 Feb 2024 14:24:00 +0900</pubDate>
    </item>
    <item>
      <title>[Mac] kubectx, fzf 설치를 통한 여러대의 kubernetes 관리</title>
      <link>https://yjnote.tistory.com/176</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Mac을 통해 여러대의 kubernetes를 관리하다보면 각각 접근하기에 번거로움이 있다.&lt;br /&gt;이부분을 alias 설정도 할수있고 여러가지 방법이 있겠지만&lt;br /&gt;kubectx와 fzf를 통해 편리하게 kubernetes 접근을 변경하는 방법을 알려드리려 한다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;kubectx&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;blockquote data-ke-style=&quot;style3&quot;&gt;# brew install kubectx&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 명령어를 통해 kubectx를 설치한다.&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;# kubectx&lt;/blockquote&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위 명령어를 통해 연결되어있는 클러스터 정보를 확인할수있습니다.&lt;/p&gt;
&lt;h2 data-ke-size=&quot;size26&quot;&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;&lt;b&gt;fzf&lt;/b&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;hr contenteditable=&quot;false&quot; data-ke-type=&quot;horizontalRule&quot; data-ke-style=&quot;style6&quot; /&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;# brew install fzf&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 명령어를 통해 fzf를 설치한다.&lt;/p&gt;
&lt;blockquote style=&quot;background-color: #fcfcfc; color: #666666; text-align: left;&quot; data-ke-style=&quot;style3&quot;&gt;# kubectx&lt;/blockquote&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;위 명령어를 통해 진행하였을시 클러스터를 선택할수있게 바뀐 부분을 확인할수 있습니다.&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;스크린샷 2023-11-08 오후 1.20.23.png&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;648&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/scRhq/btszWHS6Me2/Wb41BRkhh1KVukCBhf7NAK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/scRhq/btszWHS6Me2/Wb41BRkhh1KVukCBhf7NAK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/scRhq/btszWHS6Me2/Wb41BRkhh1KVukCBhf7NAK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FscRhq%2FbtszWHS6Me2%2FWb41BRkhh1KVukCBhf7NAK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1006&quot; height=&quot;648&quot; data-filename=&quot;스크린샷 2023-11-08 오후 1.20.23.png&quot; data-origin-width=&quot;1006&quot; data-origin-height=&quot;648&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위와같이 kubectx 명령어를 통해 클러스터를 선택해 접속할수가 있습니다.&lt;/p&gt;</description>
      <category>기타</category>
      <author>Rohin</author>
      <guid isPermaLink="true">https://yjnote.tistory.com/176</guid>
      <comments>https://yjnote.tistory.com/176#entry176comment</comments>
      <pubDate>Wed, 8 Nov 2023 13:24:26 +0900</pubDate>
    </item>
    <item>
      <title>argoCD EKS 업그레이드 관련 Supported versions</title>
      <link>https://yjnote.tistory.com/175</link>
      <description>&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;EKS 업그레이드 작업중 설치된 에드온에 관련하여 EKS 버전에 따른 지원사항을 확인하게된다.&lt;br /&gt;Argocd 같은경우 내용 설명이 되어있긴하지만 해당 내용의 이해를 돕기위해 글을 남깁니다.&lt;/p&gt;
&lt;p style=&quot;background-color: #ffffff; color: #000000; text-align: start;&quot; data-ke-size=&quot;size14&quot;&gt;영어버전&lt;/p&gt;
&lt;pre id=&quot;code_1697689494518&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Supported versions
Similar to the Kubernetes project, the supported versions of Argo CD at any given point in time are the latest patch releases for the N and N - 1 minor versions. These Argo CD versions are supported on the same versions of Kubernetes that are supported by Kubernetes itself (normally the last 3 released versions).

Essentially the Argo CD project follows the same support scheme as Kubernetes but for N, N-1 while Kubernetes supports N, N-1, N-2 versions.

For example if the latest minor version of ArgoCD are 2.4.3 and 2.3.5 while supported Kubernetes versions are 1.24, 1.23 and 1.22 then the following combinations are supported:

Argo CD 2.4.3 on Kubernetes 1.24
Argo CD 2.4.3 on Kubernetes 1.23
Argo CD 2.4.3 on Kubernetes 1.22
Argo CD 2.3.5 on Kubernetes 1.24
Argo CD 2.3.5 on Kubernetes 1.23
Argo CD 2.3.5 on Kubernetes 1.22&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;한글번역&lt;/p&gt;
&lt;pre id=&quot;code_1697689511797&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;지원되는 버전
Kubernetes 프로젝트와 마찬가지로 특정 시점에 지원되는 Argo CD 버전은 N 및 N - 1 마이너 버전에 대한 최신 패치 릴리스입니다. 
이러한 Argo CD 버전은 Kubernetes 자체에서 지원하는 것과 동일한 Kubernetes 버전(일반적으로 마지막으로 출시된 3개 버전)에서 지원됩니다.

기본적으로 Argo CD 프로젝트는 Kubernetes와 동일한 지원 체계를 따르지만 N, N-1의 경우 Kubernetes는 N, N-1, N-2 버전을 지원합니다.

예를 들어 ArgoCD의 최신 마이너 버전이 2.4.3 및 2.3.5이고 지원되는 Kubernetes 버전이 1.24, 1.23 및 1.22인 경우 다음 조합이 지원됩니다.

Kubernetes 1.24의 Argo CD 2.4.3
Kubernetes 1.23의 Argo CD 2.4.3
Kubernetes 1.22의 Argo CD 2.4.3
Kubernetes 1.24의 Argo CD 2.3.5
Kubernetes 1.23의 Argo CD 2.3.5
Kubernetes 1.22의 Argo CD 2.3.5&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;위의 말인 즉슨 Argo CD는 Kubernetes 버전과 동일하게 간다.&lt;br /&gt;&lt;span style=&quot;background-color: #f6e199;&quot;&gt;ex) kubernetes 버전 - 1.28 이면, Argo CD 버전 - 2.8.x&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size14&quot;&gt;위와같은 상황이며 지원되는 버전에 대해서는 3개 버전까지 지원을 한다고한다. 해당 말같은경우&lt;br /&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;ex) Argo CD 버전 - 2.8.x 일때 kubernetes 버전 - 1.28, 1.27, 1.26 까지 사용이 가능하다.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Argo CD 버전 - 2.7.x 일때 Kubernetes 버전 - 1.28, 1.27, 1.26, 1.25 까지 사용이 가능하다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Argo CD 버전 - 2.6.x 일때 Kubernetes 버전 - 1.28, 1.27, 1.26, 1.25, 1.24 까지 사용이 가능하다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffc9af;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Argo CD 버전 - 2.5.x 일때 Kubernetes 버전 - 1.27, 1.26, 1.25, 1.24, 1.23 까지 사용이 가능하다.&lt;/span&gt;&lt;br /&gt;반대로&lt;br /&gt;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;ex) Kubernetes 버전 - 1.28 버전일때 Argo CD 버전 - 2.8.x, 2.7.x, 2.6.x 까지 사용이 가능하다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Kubernetes 버전 - 1.27 버전일때 Argo CD 버전 - 2.8.x, 2.7.x, 2.6.x, 2.5.x 까지 사용이 가능하다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Kubernetes 버전 - 1.26 버전일때 Argo CD 버전 - 2.8.x, 2.7.x, 2.6.x, 2.5.x, 2.4.x 까지 사용이 가능하다.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;background-color: #ffc1c8;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Kubernetes 버전 - 1.25 버전일때 Argo CD 버전 - 2.7.x, 2.6.x, 2.5.x, 2.4.x, 2.3.x 까지 사용이 가능하다.&lt;/span&gt;&lt;/p&gt;</description>
      <category>DevOps/ArgoCD</category>
      <author>Rohin</author>
      <guid isPermaLink="true">https://yjnote.tistory.com/175</guid>
      <comments>https://yjnote.tistory.com/175#entry175comment</comments>
      <pubDate>Thu, 19 Oct 2023 14:00:36 +0900</pubDate>
    </item>
  </channel>
</rss>