Skip to content

Commit

Permalink
feat: リモートEC2にNode Exporter入れて、ローカルのGrafana/prometheusで監視対象のデータを確認する
Browse files Browse the repository at this point in the history
  • Loading branch information
abcdegolira committed Jul 12, 2024
1 parent ecd6966 commit 17619af
Show file tree
Hide file tree
Showing 7 changed files with 74 additions and 8 deletions.
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ yarn-error.log*
next-env.d.ts



prometheus.yml

#Terraform関係
# Local .terraform directories
Expand Down
13 changes: 13 additions & 0 deletions .tf/network.tf
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,19 @@ resource "aws_security_group" "sg" {
cidr_blocks = ["0.0.0.0/0"]
}

ingress {
from_port = 3000
to_port = 3000
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"] #Next.js用
}
ingress {
from_port = 9100
to_port = 9100
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"] # Node Exporter用
}

#アウトバウンドルール
egress {
from_port = 0
Expand Down
54 changes: 47 additions & 7 deletions .tf/setup_nextjs.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
---
- hosts: all
#- hosts: localhost
become: yes #権限昇格してsudo使えるようにする
vars:
node_version: "18.14.1"
project_path: "/home/ec2-user/nextjs-responsive-clear"
node_exporter_version: "1.5.0"
node_exporter_arch: "linux-amd64"
node_exporter_download_url: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.{{ node_exporter_arch }}.tar.gz"

tasks:
- name: hello
shell: echo "hello"
Expand All @@ -16,13 +21,47 @@
# ansible.builtin.shell: amazon-linux-extras enable nginx1
# changed_when: false



- name: Install Node.js repository
shell: |
sudo yum install -y gcc-c++ make
curl -sL https://deb.nodesource.com/setup_{{ node_version }} | sudo -E bash -
yum install -y nodejs

- name: Node Exporterユーザーを作成
user:
name: node_exporter
system: yes
shell: /sbin/nologin
create_home: no

- name: Node Exporterをダウンロードして解凍
unarchive:
src: "https://github.com/prometheus/node_exporter/releases/download/v{{ node_exporter_version }}/node_exporter-{{ node_exporter_version }}.{{ node_exporter_arch }}.tar.gz"
dest: /tmp
remote_src: yes # リモートからダウンロード

- name: Node Exporterバイナリを移動
copy:
src: "/tmp/node_exporter-{{ node_exporter_version }}.{{ node_exporter_arch }}/node_exporter"
dest: /usr/local/bin/node_exporter
owner: node_exporter
group: node_exporter
mode: '0755'
remote_src: yes # リモートファイルをコピー

- name: Node Exporterのsystemdサービスファイルを作成
template:
src: node_exporter.service.j2 # テンプレートファイル(別途作成が必要)
dest: /etc/systemd/system/node_exporter.service
mode: '0644'

- name: systemdをリロード
systemd:
daemon_reload: yes

- name: Node Exporterサービスを有効化して起動
systemd:
name: node_exporter
state: started
enabled: yes




- name: Install Node.js and npm
yum:
Expand Down Expand Up @@ -125,3 +164,4 @@
# poll: 0
# args:
# chdir: /home/ec2-user/my-next-app

13 changes: 13 additions & 0 deletions .tf/templates/node_exporter.service.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[Unit]
Description=Node Exporter
After=network.target

[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
Restart=always

[Install]
WantedBy=multi-user.target
File renamed without changes.
Binary file added data/queries.active
Binary file not shown.
Binary file added data/wal/00000000
Binary file not shown.

0 comments on commit 17619af

Please sign in to comment.