---
title: Healthwath 2.3をインストールするメモ
tags: ["AWS", "Cloud Foundry", "Pivotal Cloud Foundry", "Ops Manager", "TAS", "Healthwatch", "Prometheus", "Grafana"]
categories: ["Dev", "PaaS", "CloudFoundry", "PCF"]
date: 2024-07-05T06:57:03Z
updated: 2024-07-05T07:16:39Z
---

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/1f8b54c0-7b23-462d-9d74-100557a6b1ea">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/b459a67a-57da-4fa3-b08e-2f61b5e1793e">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/47cb7a3d-40e4-483e-addd-c0f8cbdb710e">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/a865bae5-9180-4883-8916-f018c53a57a7">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/b7ce287f-f6f7-4919-91a8-5d43cdf59d84">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/3e4f2f53-d493-4a5b-882f-5a5e415f9402">

* `echo "https://grafana.${TF_VAR_environment_name}.${TF_VAR_hosted_zone}:3000"`
* Certificate and private key のCertificate PEMに`cat .lego/certificates/_.${TF_VAR_environment_name}.${TF_VAR_hosted_zone}.crt`の結果を設定。
* Certificate and private key のPrivate Key PEMに`cat .lego/certificates/_.${TF_VAR_environment_name}.${TF_VAR_hosted_zone}.key`の結果を設定。

```hcl
cd tas-paving-aws

cat <<'EOF' > healthwatch-lb.tf
resource "aws_lb_listener" "web-3000" {
  load_balancer_arn = aws_lb.web.arn
  port              = 3000
  protocol          = "TCP"

  default_action {
    type             = "forward"
    target_group_arn = aws_lb_target_group.grafana-443.arn
  }
}

resource "aws_lb_target_group" "grafana-443" {
  name     = "${var.environment_name}-grafana-tg-443"
  port     = 443
  protocol = "TCP"
  vpc_id   = aws_vpc.vpc.id

  health_check {
    protocol = "TCP"
  }
}

resource "aws_route53_record" "grafana" {
  name = "grafana.${var.environment_name}.${data.aws_route53_zone.hosted.name}"

  zone_id = data.aws_route53_zone.hosted.zone_id
  type    = "A"

  alias {
    name                   = aws_lb.web.dns_name
    zone_id                = aws_lb.web.zone_id
    evaluate_target_health = true
  }
}

output "grafana_target_group_name" {
  value = aws_lb_target_group.grafana-443.name
}
EOF
```

```
terraform plan -out plan
terraform apply "plan"
cd ..
```

```
cat tas-paving-aws/terraform.tfstate | jq -r '.outputs.grafana_target_group_name.value | "alb:" + .'
```

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/df3d1082-2534-4f9d-98ec-8a4aa2a2ec05">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/ff9bf936-ebae-406d-9402-1438a66c74ed">


```yaml
cat <<EOF > additional-vm-extensions-p-healthwatch2.yml
---
product-name: p-healthwatch2
resource-config:
  grafana:
    additional_vm_extensions:
    - web-lb-security-groups
    - spot-instance
  pxc:
    additional_vm_extensions:
    - spot-instance
  pxc-proxy:
    additional_vm_extensions:
    - spot-instance
  tsdb:
    additional_vm_extensions:
    - spot-instance
---
EOF

om --env env.yml configure-product -c additional-vm-extensions-p-healthwatch2.yml
```

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/34f76b2e-322c-44cc-81b2-c7b51f034090">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/97fc93f1-7223-4a00-bf64-ba2106531f31">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/c0502317-367f-41fc-b863-ee16f6bfb16e">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/56e514b2-7685-45da-9b40-1cb755a68f88">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/0e96086f-a461-44e6-a4c4-4bfc3722e7a6">

`BOSH_CLIENT=ops_manager BOSH_CLIENT_SECRET=***** BOSH_CA_CERT=/var/tempest/workspaces/default/root_ca_certificate BOSH_ENVIRONMENT=10.0.16.10 bosh `


<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/e3141a1c-b484-4413-817e-6a4acd08e1f9">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/f5879925-32c8-42f4-a1ab-0379924136d5">

```yaml
cat <<EOF > additional-vm-extensions-p-healthwatch2-pas-exporter.yml
---
product-name: p-healthwatch2-pas-exporter
resource-config:
  bosh-deployments-exporter:
    additional_vm_extensions:
    - spot-instance
  bosh-health-exporter:
    additional_vm_extensions:
    - spot-instance
  cert-expiration-exporter:
    additional_vm_extensions:
    - spot-instance
  pas-exporter-counter:
    additional_vm_extensions:
    - spot-instance
  pas-exporter-gauge:
    additional_vm_extensions:
    - spot-instance
  pas-sli-exporter:
    additional_vm_extensions:
    - spot-instance
  svm-forwarder:
    additional_vm_extensions:
    - spot-instance
---
EOF
om --env env.yml configure-product -c additional-vm-extensions-p-healthwatch2-pas-exporter.yml
```


<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/d7884d60-6ffe-40c2-b02c-25da670d0c09">

`https://grafana.${TF_VAR_environment_name}.${TF_VAR_hosted_zone}:3000`

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/8847ac01-de5d-4702-9dd4-d19f46145f2e">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/27488a9f-ebb7-4c3f-b05f-f3daeea3b8cb">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/556afb89-10ef-43b3-a42b-4dfa22f1ff46">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/904ce025-080b-4690-8f12-2e4c60570722">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/7e455a24-23ab-446b-a2f5-cef7206244fe">

<img width="1024" alt="image" src="https://github.com/making/blog.ik.am/assets/106908/ac20e922-0883-4fca-a001-4e43a5b76ce7">
