2015-09-18 15 views
8

Tôi có ứng dụng Khởi động mùa xuân chạy trên Cloud Foundry, hiển thị số liệu và thông tin sức khỏe tương ứng qua/metrics &/điểm cuối về sức khỏe. Tôi muốn đăng các số liệu này dưới dạng luồng liên tục tới dịch vụ được cung cấp cho người dùng influxDB để hiển thị trên bảng điều khiển grafana. Tôi đang tìm kiếm bất kỳ tài nguyên nào giải thích cách dataflow sẽ hoạt động và sẽ đánh giá cao bất kỳ đề xuất nào.Hiển thị số liệu Khởi động mùa xuân tới influxDB để trực quan hóa grafana

Cảm ơn.

+0

Bạn có cần nhập dữ liệu vào InfluxDB vì lý do nào đó không (lý do nào khác là nó tuyệt vời)? Tôi hỏi vì có các tài nguyên về việc đưa dữ liệu số liệu vào Graphite (và lưu trữ nó trong Whisper db). Sau đó bạn có thể dễ dàng trỏ grafana đến máy chủ graphite và trực quan hóa dữ liệu. Thêm vào InfluxDB chắc chắn nhất có thể được thực hiện, nhưng tôi đoán nó sẽ mất rất nhiều mã hóa thủ công (Tôi không biết về bất kỳ giải pháp làm sẵn nào) – geoand

+0

Cảm ơn - vâng, tôi chỉ có liên kết influxDB (với Grafana) trong phong cảnh – citizenBane

Trả lời

6

Theo như tôi biết không có giải pháp đã sẵn sàng. Tuy nhiên những gì bạn có thể làm là triển khai Exporter tùy chỉnh cho InfluxDB.

Chi tiết về cách thực hiện việc này trong Khởi động mùa xuân có thể được tìm thấy here. Về bản chất những gì bạn cần phải thực hiện là một nhà xuất khẩu có thể chuyển đổi các dữ liệu số liệu mùa xuân Boot để line protocol

Một giải pháp khả thi InfluxDB của sẽ là để có được những Spring Boot metrics into Dropwizard metrics và sau đó sử dụng this thư viện bên ngoài để báo cáo các số liệu Dropwizard vào InfluxDB (hoặc sử dụng chi tiết số liệu về số lượng dropwizard của master đã là một phụ trợ của InfluxDB).

Cuối cùng, nếu bạn muốn từ bỏ InfluxDB và thay vào đó lưu dữ liệu vào lưu trữ của Graphite (cơ sở dữ liệu Whisper), bạn nên kiểm tra this hoặc this. Khi dữ liệu trong Graphite, Grafana có thể dễ dàng hình dung nó như được hiển thị here

+0

Rất cám ơn @geoand. Tôi đã thử đề xuất thứ hai của bạn và bị kẹt với thư viện bên ngoài https://github.com/davidB/metrics-influxdb vì nó hỗ trợ influxDB 0.8x không phải 0.9x. Trong khi tôi đang chờ bản sửa lỗi cho thư viện này, bạn có thể chia sẻ các tài nguyên bạn đã đề cập để báo cáo dữ liệu vào Graphite API (đề xuất ban đầu của bạn) không? – citizenBane

+0

Bạn được chào đón! Kiểm tra câu trả lời cập nhật cho các đề xuất thêm – geoand

+0

Cảm ơn bạn lần nữa. Tuy nhiên, chỉ có các số liệu. * Và gauge. * Từ điểm cuối/metric của ứng dụng Spring Boot của tôi đang hiển thị trong grafana (thông qua graphite). Có cách nào để phơi bày toàn bộ tập hợp các số liệu bao gồm các thông số jvm, cpu util, v.v ... như một công việc đã lên lịch không? Tôi đã đi qua một số liên kết nhưng tất cả mọi người dường như có cách riêng của họ (và sử dụng các thư viện khác) để làm điều này. Điều gì sẽ là cách được đề nghị chuyển tiếp? – citizenBane

3

Có thể viết một plugin telegraf để phát ra các chỉ số cho InfluxDB. Nếu không, thư viện influxdb-java có thể đơn giản hóa việc phát ra các chỉ số trực tiếp từ Khởi động mùa xuân.

1

Có hai thực hiện khác nhau với influxdb: -

a) Đối với phiên bản influxdb < = 0.8.8 bạn có thể sử dụng các số liệu influxdb jar để đưa dữ liệu chuỗi thời gian ứng dụng của bạn trên máy chủ chạy influxdb.

b) Đối với phiên bản influxdb> 0.8.8, bạn có thể sử dụng cụm influxdb-java để đặt dữ liệu chuỗi thời gian ứng dụng của bạn trên máy chủ influxdb đang chạy.

Bây giờ về làm thế nào để cài đặt & quản lý influxdb với grafana bạn có thể theo sau liên kết hữu ích: - http://www.philipotoole.com/influxdb-and-grafana-howto/
http://blog.sflow.com/2014/12/influxdb-and-grafana.html
https://devops.profitbricks.com/tutorials/creating-a-grafana-and-influxdb-docker-container/
https://influxdb.com/docs/v0.6/ui/grafana.html

0

Telegraf đáp ứng yêu cầu của bạn. Nó lấy dữ liệu từ jolokia và lưu vào InfluxDB.

Tất cả bạn cần làm là cho phép thiết bị truyền động và Jolokia cho SpringbootApplication, nó rất dễ dàng để thêm phụ thuộc vào maven của bạn:

<dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-actuator</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.jolokia</groupId> 
     <artifactId>jolokia-core</artifactId> 
    </dependency> 

Sau này, bạn cần cấu hình telegraf để kết nối máy chủ web của bạn và influxDB, đây là cấu hình ví dụ:

[tags] 
dc = "local-1" 

[agent] 
interval = "10s" 

[[inputs.jolokia]] 
context = "/jolokia" 

[[inputs.jolokia.servers]] 
name = "catalog" 
host = "{web server ip address}" 
port = "{web server port}" 

[[inputs.jolokia.metrics]] 
name = "metrics" 
mbean = "org.springframework.boot:name=metricsEndpoint,type=Endpoint" 
attribute = "Data" 

[outputs] 
[outputs.influxdb] 
url = "{http://influxdb:port}" 
database = "telegraf" 
precision = "s" 

Đảm bảo mạng có cấu hình phía trên khả dụng, khi đó bạn sẽ nhận được dữ liệu trong bạn influxDB.

Configure grafana để hiển thị các dữ liệu lưu trữ trong influxDB:

  1. Thêm một loại influxDB nguồn dữ liệu
  2. Tạo một Dashboard mới và bảng Graph.
  3. Định cấu hình Bảng điều khiển biểu đồ và chọn mục bạn muốn hiển thị trong cài đặt Chỉ số.

Bạn sẽ thấy dữ liệu trên bảng điều khiển.

Các vấn đề liên quan