diff --git a/apps/grafana/10.0.1/data.yml b/apps/grafana/10.0.1/data.yml new file mode 100644 index 000000000..255192ecc --- /dev/null +++ b/apps/grafana/10.0.1/data.yml @@ -0,0 +1,11 @@ +additionalProperties: + formFields: + - default: 40038 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + diff --git a/apps/grafana/10.0.1/docker-compose.yml b/apps/grafana/10.0.1/docker-compose.yml new file mode 100644 index 000000000..fca1817a2 --- /dev/null +++ b/apps/grafana/10.0.1/docker-compose.yml @@ -0,0 +1,22 @@ +version: '3' +services: + grafana: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:3000" + volumes: + - grafana_data:/var/lib/grafana + image: grafana/grafana:10.0.1 + labels: + createdBy: "Apps" + +volumes: + grafana_data: + external: true + +networks: + 1panel-network: + external: true diff --git a/apps/grafana/README.md b/apps/grafana/README.md new file mode 100644 index 000000000..ea491a87d --- /dev/null +++ b/apps/grafana/README.md @@ -0,0 +1,68 @@ +# 使用说明 + +默认账户与密码 +``` +username:admin +password:admin +``` + +注意:应用部署前需要先创建存储卷, + +终端运行 +``` +docker volume create grafana_data +``` + +假如需要完全删除数据,除了删除容器还需要删除存储卷`grafana_data`。 + +# 原始相关 + +![Grafana](https://raw.githubusercontent.com/grafana/grafana/main/docs/logo-horizontal.png) + +The open-source platform for monitoring and observability + +[![License](https://img.shields.io/github/license/grafana/grafana)](LICENSE) +[![Drone](https://drone.grafana.net/api/badges/grafana/grafana/status.svg)](https://drone.grafana.net/grafana/grafana) +[![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana) + +Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data-driven culture: + +- **Visualizations:** Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs. +- **Dynamic Dashboards:** Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard. +- **Explore Metrics:** Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side. +- **Explore Logs:** Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live. +- **Alerting:** Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie. +- **Mixed Data Sources:** Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources. + +## Get started + +- [Get Grafana](https://grafana.com/get) +- [Installation guides](https://grafana.com/docs/grafana/latest/setup-grafana/installation/) + +Unsure if Grafana is for you? Watch Grafana in action on [play.grafana.org](https://play.grafana.org/)! + +## Documentation + +The Grafana documentation is available at [grafana.com/docs](https://grafana.com/docs/). + +## Contributing + +If you're interested in contributing to the Grafana project: + +- Start by reading the [Contributing guide](https://github.com/grafana/grafana/blob/HEAD/CONTRIBUTING.md). +- Learn how to set up your local environment, in our [Developer guide](https://github.com/grafana/grafana/blob/HEAD/contribute/developer-guide.md). +- Explore our [beginner-friendly issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22). +- Look through our [style guide and Storybook](https://developers.grafana.com/ui/latest/index.html). + +## Get involved + +- Follow [@grafana on Twitter](https://twitter.com/grafana/). +- Read and subscribe to the [Grafana blog](https://grafana.com/blog/). +- If you have a specific question, check out our [discussion forums](https://community.grafana.com/). +- For general discussions, join us on the [official Slack](https://slack.grafana.com) team. + +This project is tested with [BrowserStack](https://www.browserstack.com/) + +## License + +Grafana is distributed under [AGPL-3.0-only](LICENSE). For Apache-2.0 exceptions, see [LICENSING.md](https://github.com/grafana/grafana/blob/HEAD/LICENSING.md). diff --git a/apps/grafana/data.yml b/apps/grafana/data.yml new file mode 100644 index 000000000..abf44d716 --- /dev/null +++ b/apps/grafana/data.yml @@ -0,0 +1,20 @@ +name: Grafana +tags: + - 工具 +title: 用于监控和可观察性的开源平台 +type: 工具 +description: 用于监控和可观察性的开源平台 +additionalProperties: + key: grafana + name: Grafana + tags: + - Tool + shortDescZh: 用于监控和可观察性的开源平台 + shortDescEn: The open-source platform for monitoring and observability + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://grafana.com/ + github: https://github.com/grafana/grafana + document: https://grafana.com/docs/grafana \ No newline at end of file diff --git a/apps/grafana/logo.png b/apps/grafana/logo.png new file mode 100644 index 000000000..e4ebe3511 Binary files /dev/null and b/apps/grafana/logo.png differ diff --git a/apps/prometheus/2.45.0/data.yml b/apps/prometheus/2.45.0/data.yml new file mode 100644 index 000000000..4aba8b498 --- /dev/null +++ b/apps/prometheus/2.45.0/data.yml @@ -0,0 +1,11 @@ +additionalProperties: + formFields: + - default: 40039 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: Port + labelZh: 端口 + required: true + rule: paramPort + type: number + diff --git a/apps/prometheus/2.45.0/data/prometheus.yml b/apps/prometheus/2.45.0/data/prometheus.yml new file mode 100644 index 000000000..c72645477 --- /dev/null +++ b/apps/prometheus/2.45.0/data/prometheus.yml @@ -0,0 +1,29 @@ +# my global config +global: + scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. + evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. + # scrape_timeout is set to the global default (10s). + +# Alertmanager configuration +alerting: + alertmanagers: + - static_configs: + - targets: + # - alertmanager:9093 + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + # - "first_rules.yml" + # - "second_rules.yml" + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=` to any timeseries scraped from this config. + - job_name: "prometheus" + + # metrics_path defaults to '/metrics' + # scheme defaults to 'http'. + + static_configs: + - targets: ["localhost:9090"] \ No newline at end of file diff --git a/apps/prometheus/2.45.0/docker-compose.yml b/apps/prometheus/2.45.0/docker-compose.yml new file mode 100644 index 000000000..372ce51af --- /dev/null +++ b/apps/prometheus/2.45.0/docker-compose.yml @@ -0,0 +1,18 @@ +version: '3' +services: + prometheus: + container_name: ${CONTAINER_NAME} + restart: always + networks: + - 1panel-network + ports: + - "${PANEL_APP_PORT_HTTP}:9090" + volumes: + - "./data:/etc/prometheus" + image: prom/prometheus:v2.45.0 + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true diff --git a/apps/prometheus/README.md b/apps/prometheus/README.md new file mode 100644 index 000000000..6df07785a --- /dev/null +++ b/apps/prometheus/README.md @@ -0,0 +1,197 @@ +# 使用说明 + +需要按需配置应用目录下`data`文件夹里的`prometheus.yml`,以自定义更多功能。 + + +# 原始相关 + +

+ Prometheus
Prometheus +

+ +

Visit prometheus.io for the full documentation, +examples and guides.

+ +
+ +[![CI](https://github.com/prometheus/prometheus/actions/workflows/ci.yml/badge.svg)](https://github.com/prometheus/prometheus/actions/workflows/ci.yml) +[![Docker Repository on Quay](https://quay.io/repository/prometheus/prometheus/status)][quay] +[![Docker Pulls](https://img.shields.io/docker/pulls/prom/prometheus.svg?maxAge=604800)][hub] +[![Go Report Card](https://goreportcard.com/badge/github.com/prometheus/prometheus)](https://goreportcard.com/report/github.com/prometheus/prometheus) +[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/486/badge)](https://bestpractices.coreinfrastructure.org/projects/486) +[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/prometheus/prometheus) +[![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/prometheus.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:prometheus) + +
+ +Prometheus, a [Cloud Native Computing Foundation](https://cncf.io/) project, is a systems and service monitoring system. It collects metrics +from configured targets at given intervals, evaluates rule expressions, +displays the results, and can trigger alerts when specified conditions are observed. + +The features that distinguish Prometheus from other metrics and monitoring systems are: + +* A **multi-dimensional** data model (time series defined by metric name and set of key/value dimensions) +* PromQL, a **powerful and flexible query language** to leverage this dimensionality +* No dependency on distributed storage; **single server nodes are autonomous** +* An HTTP **pull model** for time series collection +* **Pushing time series** is supported via an intermediary gateway for batch jobs +* Targets are discovered via **service discovery** or **static configuration** +* Multiple modes of **graphing and dashboarding support** +* Support for hierarchical and horizontal **federation** + +## Architecture overview + +![Architecture overview](https://raw.githubusercontent.com/prometheus/prometheus/main/documentation/images/architecture.svg) + +## Install + +There are various ways of installing Prometheus. + +### Precompiled binaries + +Precompiled binaries for released versions are available in the +[*download* section](https://prometheus.io/download/) +on [prometheus.io](https://prometheus.io). Using the latest production release binary +is the recommended way of installing Prometheus. +See the [Installing](https://prometheus.io/docs/introduction/install/) +chapter in the documentation for all the details. + +### Docker images + +Docker images are available on [Quay.io](https://quay.io/repository/prometheus/prometheus) or [Docker Hub](https://hub.docker.com/r/prom/prometheus/). + +You can launch a Prometheus container for trying it out with + +```bash +docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus +``` + +Prometheus will now be reachable at . + +### Building from source + +To build Prometheus from source code, You need: + +* Go [version 1.17 or greater](https://golang.org/doc/install). +* NodeJS [version 16 or greater](https://nodejs.org/). +* npm [version 7 or greater](https://www.npmjs.com/). + +Start by cloning the repository: + +```bash +git clone https://github.com/prometheus/prometheus.git +cd prometheus +``` + +You can use the `go` tool to build and install the `prometheus` +and `promtool` binaries into your `GOPATH`: + +```bash +GO111MODULE=on go install github.com/prometheus/prometheus/cmd/... +prometheus --config.file=your_config.yml +``` + +*However*, when using `go install` to build Prometheus, Prometheus will expect to be able to +read its web assets from local filesystem directories under `web/ui/static` and +`web/ui/templates`. In order for these assets to be found, you will have to run Prometheus +from the root of the cloned repository. Note also that these directories do not include the +React UI unless it has been built explicitly using `make assets` or `make build`. + +An example of the above configuration file can be found [here.](https://github.com/prometheus/prometheus/blob/main/documentation/examples/prometheus.yml) + +You can also build using `make build`, which will compile in the web assets so that +Prometheus can be run from anywhere: + +```bash +make build +./prometheus --config.file=your_config.yml +``` + +The Makefile provides several targets: + +* *build*: build the `prometheus` and `promtool` binaries (includes building and compiling in web assets) +* *test*: run the tests +* *test-short*: run the short tests +* *format*: format the source code +* *vet*: check the source code for common errors +* *assets*: build the React UI + +### Service discovery plugins + +Prometheus is bundled with many service discovery plugins. +When building Prometheus from source, you can edit the [plugins.yml](./plugins.yml) +file to disable some service discoveries. The file is a yaml-formated list of go +import path that will be built into the Prometheus binary. + +After you have changed the file, you +need to run `make build` again. + +If you are using another method to compile Prometheus, `make plugins` will +generate the plugins file accordingly. + +If you add out-of-tree plugins, which we do not endorse at the moment, +additional steps might be needed to adjust the `go.mod` and `go.sum` files. As +always, be extra careful when loading third party code. + +### Building the Docker image + +The `make docker` target is designed for use in our CI system. +You can build a docker image locally with the following commands: + +```bash +make promu +promu crossbuild -p linux/amd64 +make npm_licenses +make common-docker-amd64 +``` + +## Using Prometheus as a Go Library + +### Remote Write + +We are publishing our Remote Write protobuf independently at +[buf.build](https://buf.build/prometheus/prometheus/assets). + +You can use that as a library: + +```shell +go get go.buf.build/protocolbuffers/go/prometheus/prometheus +``` + +This is experimental. + +### Prometheus code base + +In order to comply with [go mod](https://go.dev/ref/mod#versions) rules, +Prometheus release number do not exactly match Go module releases. For the +Prometheus v2.y.z releases, we are publishing equivalent v0.y.z tags. + +Therefore, a user that would want to use Prometheus v2.35.0 as a library could do: + +```shell +go get github.com/prometheus/prometheus@v0.35.0 +``` + +This solution makes it clear that we might break our internal Go APIs between +minor user-facing releases, as [breaking changes are allowed in major version +zero](https://semver.org/#spec-item-4). + +## React UI Development + +For more information on building, running, and developing on the React-based UI, see the React app's [README.md](web/ui/README.md). + +## More information + +* Godoc documentation is available via [pkg.go.dev](https://pkg.go.dev/github.com/prometheus/prometheus). Due to peculiarities of Go Modules, v2.x.y will be displayed as v0.x.y. +* See the [Community page](https://prometheus.io/community) for how to reach the Prometheus developers and users on various communication channels. + +## Contributing + +Refer to [CONTRIBUTING.md](https://github.com/prometheus/prometheus/blob/main/CONTRIBUTING.md) + +## License + +Apache License 2.0, see [LICENSE](https://github.com/prometheus/prometheus/blob/main/LICENSE). + +[hub]: https://hub.docker.com/r/prom/prometheus/ +[quay]: https://quay.io/repository/prometheus/prometheus diff --git a/apps/prometheus/data.yml b/apps/prometheus/data.yml new file mode 100644 index 000000000..0292929c8 --- /dev/null +++ b/apps/prometheus/data.yml @@ -0,0 +1,20 @@ +name: Prometheus +tags: + - 工具 +title: 一个系统和服务监控系统 +type: 工具 +description: 一个系统和服务监控系统 +additionalProperties: + key: prometheus + name: Prometheus + tags: + - Tool + shortDescZh: 一个系统和服务监控系统 + shortDescEn: A systems and service monitoring system + type: tool + crossVersionUpdate: true + limit: 0 + recommend: 0 + website: https://prometheus.io/ + github: https://github.com/prometheus/prometheus + document: https://prometheus.io/docs/ \ No newline at end of file diff --git a/apps/prometheus/logo.png b/apps/prometheus/logo.png new file mode 100644 index 000000000..0449f5f5b Binary files /dev/null and b/apps/prometheus/logo.png differ