Skip to content

Commit 0e55b14

Browse files
committed
goreleaser experiment
1 parent 9a42379 commit 0e55b14

File tree

5 files changed

+27
-31
lines changed

5 files changed

+27
-31
lines changed

.goreleaser.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@ snapshot:
1414
name_template: "{{ .Tag }}"
1515
changelog:
1616
sort: asc
17-
filters:
18-
exclude:
19-
- '^docs:'
20-
- '^test:'
17+
archives:
18+
- name_template: "{{ .ProjectName }}-{{ .Os }}-{{ .Arch }}"
19+
format: tar.gz
2120
dockers:
2221
- goos: linux
2322
goarch: amd64

Dockerfile

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,21 @@
1+
# syntax=docker/dockerfile:1
12
FROM golang:1.21.6-alpine3.18 as builder
2-
3-
ENV GO111MODULE=on
4-
53
WORKDIR /go/src/github.com/mxssl/selectel-billing-exporter
64
COPY . .
7-
8-
RUN apk add --no-cache \
9-
ca-certificates \
10-
curl \
11-
git
12-
13-
RUN CGO_ENABLED=0 \
5+
RUN <<EOF
6+
apk add --no-cache \
7+
ca-certificates \
8+
curl \
9+
git
10+
EOF
11+
RUN <<EOF
12+
CGO_ENABLED=0 \
1413
go build -v -o app
14+
EOF
1515

1616
FROM alpine:3.19.1
1717
WORKDIR /
18-
RUN apk add --no-cache \
19-
ca-certificates
18+
RUN apk add --no-cache ca-certificates
2019
COPY --from=builder /go/src/github.com/mxssl/selectel-billing-exporter .
2120
RUN chmod +x app
2221
CMD ["./app"]

README.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,28 +16,27 @@ Prometheus exporter для получения информации по билл
1616

1717
```yaml
1818
version: '3'
19-
2019
services:
2120
selectel_exporter:
22-
image: mxssl/selectel-billing-exporter:1.1.1
21+
image: mxssl/selectel-billing-exporter:1.1.3
2322
ports:
2423
- "6789:80"
2524
restart: always
2625
environment:
27-
TOKEN: тут_указываем_токен
26+
TOKEN: <тут_указываем_токен>
2827
```
2928
3029
Запускаем экспортер:
3130
3231
```sh
33-
docker-compose up -d
32+
docker compose up -d
3433
```
3534

3635
Проверить работу экспортера:
3736

3837
```sh
39-
docker-compose ps
40-
docker-compose logs
38+
docker compose ps
39+
docker compose logs
4140
```
4241

4342
Метрики доступны по url `your_ip:6789/metrics`
@@ -68,7 +67,7 @@ spec:
6867
spec:
6968
containers:
7069
- name: exporter
71-
image: mxssl/selectel-billing-exporter:1.1.1
70+
image: mxssl/selectel-billing-exporter:1.1.3
7271
command: ["./app"]
7372
ports:
7473
- containerPort: 80
@@ -95,15 +94,15 @@ spec:
9594
kubectl apply -n exporters -f your-file.yaml
9695
```
9796

98-
Для namespace exporters метрики будут доступны по адресу `selectel-billing.exporters:6789/metrics`
97+
Внутри кластера метрики будут доступны по адресу `selectel-billing.exporters.svc.cluster.local:6789/metrics`
9998

10099
## Настройка для prometheus
101100

102101
```yaml
103102
- job_name: 'selectel_billing'
104103
scrape_interval: 60m
105104
static_configs:
106-
- targets: ['exporter_ip:6789']
105+
- targets: ['exporter_address:6789']
107106
```
108107
109108
## Пример алерта для alertmanager
@@ -115,8 +114,8 @@ kubectl apply -n exporters -f your-file.yaml
115114
labels:
116115
severity: warning
117116
annotations:
118-
summary: "{{ $labels.instance }}: В облаке Selectel на счете меньше 30 тыс рублей"
119-
description: "Необходимо пополнить счет облака Selectel"
117+
summary: "{{ $labels.instance }}: В хостинге Selectel на счете меньше 30 000 рублей"
118+
description: "Необходимо пополнить счет в хостинге Selectel"
120119
```
121120
122121
## Дашборд для графаны

docker-compose.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
version: '3'
2-
32
services:
43
selectel-billing-exporter:
54
container_name: selectel-billing-exporter
65
build: .
7-
image: mxssl/selectel-billing-exporter:1.0.2
6+
image: mxssl/selectel-billing-exporter:1.0.3
87
ports:
98
- "6789:80"
109
restart: always

main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"github.com/prometheus/client_golang/prometheus/promhttp"
1515
)
1616

17-
// TOKEN for selectel API
17+
// TOKEN для Selectel API
1818
var TOKEN string
1919

2020
type selectelBillingResponse struct {
@@ -55,7 +55,7 @@ func main() {
5555
log.Fatal(srv.ListenAndServe())
5656
}()
5757

58-
log.Println("Экспортер готов принимать запросы от прометеуса на /metrics")
58+
log.Println("Экспортер готов принимать запросы от Prometheus на /metrics")
5959

6060
c := make(chan os.Signal, 1)
6161

0 commit comments

Comments
 (0)