add redfish exporter [CI SKIP]
This commit is contained in:
parent
cccc49378e
commit
12e46fad2a
6 changed files with 135 additions and 2 deletions
5
main.tf
5
main.tf
|
|
@ -38,6 +38,8 @@ variable "webhook_handler_fb_app_secret" {}
|
||||||
variable "webhook_handler_git_user" {}
|
variable "webhook_handler_git_user" {}
|
||||||
variable "webhook_handler_git_token" {}
|
variable "webhook_handler_git_token" {}
|
||||||
variable "webhook_handler_ssh_key" {}
|
variable "webhook_handler_ssh_key" {}
|
||||||
|
variable "monitoring_idrac_username" {}
|
||||||
|
variable "monitoring_idrac_password" {}
|
||||||
|
|
||||||
variable "ansible_prefix" {
|
variable "ansible_prefix" {
|
||||||
default = "ANSIBLE_VAULT_PASSWORD_FILE=~/.ansible/vault_pass.txt ansible-playbook -i playbook/hosts.yaml playbook/linux.yml -t linux/initial_setup"
|
default = "ANSIBLE_VAULT_PASSWORD_FILE=~/.ansible/vault_pass.txt ansible-playbook -i playbook/hosts.yaml playbook/linux.yml -t linux/initial_setup"
|
||||||
|
|
@ -214,4 +216,7 @@ module "kubernetes_cluster" {
|
||||||
oauth_client_id = var.oauth_client_id
|
oauth_client_id = var.oauth_client_id
|
||||||
oauth_client_secret = var.oauth_client_secret
|
oauth_client_secret = var.oauth_client_secret
|
||||||
# depends_on = [module.k8s_master, module.k8s_node1, module.k8s_node2] # wait until master and at least 2 nodes are up
|
# depends_on = [module.k8s_master, module.k8s_node1, module.k8s_node2] # wait until master and at least 2 nodes are up
|
||||||
|
|
||||||
|
idrac_username = var.monitoring_idrac_username
|
||||||
|
idrac_password = var.monitoring_idrac_password
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,8 @@ variable "webhook_handler_fb_app_secret" {}
|
||||||
variable "webhook_handler_git_user" {}
|
variable "webhook_handler_git_user" {}
|
||||||
variable "webhook_handler_git_token" {}
|
variable "webhook_handler_git_token" {}
|
||||||
variable "webhook_handler_ssh_key" {}
|
variable "webhook_handler_ssh_key" {}
|
||||||
|
variable "idrac_username" {}
|
||||||
|
variable "idrac_password" {}
|
||||||
|
|
||||||
resource "null_resource" "core_services" {
|
resource "null_resource" "core_services" {
|
||||||
# List all the core modules that must be provisioned first
|
# List all the core modules that must be provisioned first
|
||||||
|
|
@ -123,6 +125,8 @@ module "monitoring" {
|
||||||
source = "./monitoring"
|
source = "./monitoring"
|
||||||
tls_secret_name = var.tls_secret_name
|
tls_secret_name = var.tls_secret_name
|
||||||
alertmanager_account_password = var.alertmanager_account_password
|
alertmanager_account_password = var.alertmanager_account_password
|
||||||
|
idrac_username = var.idrac_username
|
||||||
|
idrac_password = var.idrac_password
|
||||||
|
|
||||||
depends_on = [null_resource.core_services]
|
depends_on = [null_resource.core_services]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,14 @@
|
||||||
variable "tls_secret_name" {}
|
variable "tls_secret_name" {}
|
||||||
variable "alertmanager_account_password" {}
|
variable "alertmanager_account_password" {}
|
||||||
|
variable "idrac_host" {
|
||||||
|
default = "idrac"
|
||||||
|
}
|
||||||
|
variable "idrac_username" {
|
||||||
|
default = "root"
|
||||||
|
}
|
||||||
|
variable "idrac_password" {
|
||||||
|
default = "calvin"
|
||||||
|
}
|
||||||
|
|
||||||
module "tls_secret" {
|
module "tls_secret" {
|
||||||
source = "../setup_tls_secret"
|
source = "../setup_tls_secret"
|
||||||
|
|
@ -232,3 +241,98 @@ resource "kubernetes_ingress" "status_yotovski" {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resource "kubernetes_config_map" "redfish-config" {
|
||||||
|
metadata {
|
||||||
|
name = "redfish-exporter-config"
|
||||||
|
namespace = "monitoring"
|
||||||
|
}
|
||||||
|
data = {
|
||||||
|
"config.yml" = <<-EOF
|
||||||
|
hosts:
|
||||||
|
${var.idrac_host}:
|
||||||
|
username: ${var.idrac_username}
|
||||||
|
password: ${var.idrac_password}
|
||||||
|
default:
|
||||||
|
username: root
|
||||||
|
password: calvin
|
||||||
|
groups:
|
||||||
|
group1:
|
||||||
|
username: user
|
||||||
|
password: pass
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "kubernetes_deployment" "idrac-redfish" {
|
||||||
|
metadata {
|
||||||
|
name = "idrac-redfish-exporter"
|
||||||
|
namespace = "monitoring"
|
||||||
|
labels = {
|
||||||
|
app = "idrac-redfish-exporter"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
spec {
|
||||||
|
replicas = 1
|
||||||
|
selector {
|
||||||
|
match_labels = {
|
||||||
|
app = "idrac-redfish-exporter"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
template {
|
||||||
|
metadata {
|
||||||
|
labels = {
|
||||||
|
app = "idrac-redfish-exporter"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
spec {
|
||||||
|
container {
|
||||||
|
image = "viktorbarzin/redfish-exporter:latest"
|
||||||
|
name = "redfish-exporter"
|
||||||
|
command = ["/bin/sh", "-c", "redfish-exporter --config.file /app/config.yml"]
|
||||||
|
port {
|
||||||
|
container_port = 9610
|
||||||
|
}
|
||||||
|
|
||||||
|
volume_mount {
|
||||||
|
name = "redfish-exporter-config"
|
||||||
|
mount_path = "/app/config.yml"
|
||||||
|
sub_path = "config.yml"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
volume {
|
||||||
|
name = "redfish-exporter-config"
|
||||||
|
config_map {
|
||||||
|
name = "redfish-exporter-config"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resource "kubernetes_service" "idrac-redfish-exporter" {
|
||||||
|
metadata {
|
||||||
|
name = "idrac-redfish-exporter"
|
||||||
|
namespace = "monitoring"
|
||||||
|
labels = {
|
||||||
|
"app" = "idrac-redfish-exporter"
|
||||||
|
}
|
||||||
|
annotations = {
|
||||||
|
"prometheus.io/scrape" = "true"
|
||||||
|
"prometheus.io/path" = "/metrics"
|
||||||
|
"prometheus.io/port" = "9090"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
spec {
|
||||||
|
selector = {
|
||||||
|
"app" = "idrac-redfish-exporter"
|
||||||
|
}
|
||||||
|
port {
|
||||||
|
name = "http"
|
||||||
|
port = "9090"
|
||||||
|
target_port = "9610"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,8 +49,8 @@ alertmanagerFiles:
|
||||||
|
|
||||||
server:
|
server:
|
||||||
# Enable me to delete metrics
|
# Enable me to delete metrics
|
||||||
# extraFlags:
|
#extraFlags:
|
||||||
# - "web.enable-admin-api"
|
# - "web.enable-admin-api"
|
||||||
persistentVolume:
|
persistentVolume:
|
||||||
# enabled: false
|
# enabled: false
|
||||||
existingClaim: prometheus-iscsi-pvc
|
existingClaim: prometheus-iscsi-pvc
|
||||||
|
|
@ -191,6 +191,26 @@ extraScrapeConfigs: |
|
||||||
action: replace
|
action: replace
|
||||||
regex: '(.*)'
|
regex: '(.*)'
|
||||||
replacement: 'r730_idrac_$${1}'
|
replacement: 'r730_idrac_$${1}'
|
||||||
|
- job_name: 'redfish-idrac'
|
||||||
|
scrape_interval: 5m
|
||||||
|
scrape_timeout: 2m
|
||||||
|
metrics_path: /redfish
|
||||||
|
static_configs:
|
||||||
|
- targets:
|
||||||
|
- idrac.viktorbarzin.lan
|
||||||
|
relabel_configs:
|
||||||
|
- source_labels: [__address__]
|
||||||
|
target_label: __param_target
|
||||||
|
- source_labels: [__param_target]
|
||||||
|
target_label: instance
|
||||||
|
- target_label: __address__
|
||||||
|
replacement: idrac-redfish-exporter.monitoring.svc.cluster.local:9090
|
||||||
|
metric_relabel_configs:
|
||||||
|
- source_labels: [ __name__ ]
|
||||||
|
target_label: '__name__'
|
||||||
|
action: replace
|
||||||
|
regex: '(.*)'
|
||||||
|
replacement: 'r730_idrac_$${1}'
|
||||||
- job_name: 'openwrt'
|
- job_name: 'openwrt'
|
||||||
static_configs:
|
static_configs:
|
||||||
- targets:
|
- targets:
|
||||||
|
|
|
||||||
Binary file not shown.
BIN
terraform.tfvars
BIN
terraform.tfvars
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue