1. grafana的邮件配置文件是/etc/grafana/grafana.ini,新建grafana.ini文件,内容如下。
    chown 472:472 grafana.ini
#################################### SMTP / Emailing ##########################
[smtp]
enabled = true
#是否允许开启
host = smtp.ym.163.com:465
#发送服务器地址,可以再邮箱的配置教程中找到:
user = 你的邮箱 password = 你的密码

;cert_file =

;key_file =

;skip_verify = false

from_address = 你的邮箱

from_name = Grafana

# EHLO identity in SMTP dialog (defaults to instance_name)

ehlo_identity = http://192.168.10.225:3000

[emails]

;welcome_email_on_sign_up = true

#################################### Logging ##########################
  1. 修改docker-compose.yml文件,将刚才的文件挂载进去并重启grafana。
###############grafana###############
grafana:
image: "grafana/grafana"
hostname: grafana
container_name: grafana
ports:
- '3000:3000'
volumes:
- /wdata/server/grafana/db/:/var/lib/grafana/
- /wdata/server/grafana/etc/grafana.ini:/etc/grafana/grafana.ini
#environment:
# - TZ=Asia/Shanghai
restart: always
#tty: true
network_mode: host
  1. 在消息通知那里测试邮件。

  2. 进入邮箱查看邮件已成功发送。

  3. 点击邮件内容跳转到grafana,发现跳转到的是localhost,无法跳转到grafana地址。

  4. 仔细检查发现grafana还有个默认配置/usr/share/grafana/conf/defaults.ini,将/usr/share/grafana/conf/defaults.ini内容复制出来并修改domain = localhost为domain = 你grafana访问URL

##################### Grafana Configuration Defaults #####################
#
# Do not modify this file in grafana installs
# # possible values : production, development

app_mode = production # instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty

instance_name = ${HOSTNAME} #################################### Paths ###############################

[paths]

# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used)

data = data # Temporary files in data directory older than given duration will be removed

temp_data_lifetime = 24h # Directory where grafana can store logs

logs = data/log # Directory where grafana will automatically scan and look for plugins

plugins = data/plugins # folder that contains provisioning config files that grafana will apply on startup and while running.

provisioning = conf/provisioning #################################### Server ##############################

[server]

# Protocol (http, https, h2, socket)

protocol = http # The ip address to bind to, empty will bind to all interfaces

http_addr = # The http port to use

http_port = 3000 # The public facing domain name used to access grafana from a browser

domain = 192.168.10.225 # Redirect to correct domain if host header does not match domain

# Prevents DNS rebinding attacks

enforce_domain = false # The full public facing url

root_url = %(protocol)s://%(domain)s:%(http_port)s/ # Serve Grafana from subpath specified in root_url setting. By default it is set to false for compatibility reasons.

serve_from_sub_path = false # Log web requests

router_logging = false # the path relative working path

static_root_path = public # enable gzip

enable_gzip = false # https certs & key file

cert_file =

cert_key = # Unix socket path

socket = /tmp/grafana.sock #################################### Database ############################

[database]

# You can configure the database connection by specifying type, host, name, user and password

# as separate properties or as on string using the url property. # Either "mysql", "postgres" or "sqlite3", it's your choice

type = sqlite3

host = 127.0.0.1:3306

name = grafana

user = root

# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""

password =

# Use either URL or the previous fields to configure the database

# Example: mysql://user:secret@host:port/database

url = # Max idle conn setting default is 2

max_idle_conn = 2 # Max conn setting default is 0 (mean not set)

max_open_conn = # Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours)

conn_max_lifetime = 14400 # Set to true to log the sql calls and execution times.

log_queries = # For "postgres", use either "disable", "require" or "verify-full"

# For "mysql", use either "true", "false", or "skip-verify".

ssl_mode = disable ca_cert_path =

client_key_path =

client_cert_path =

server_cert_name = # For "sqlite3" only, path relative to data_path setting

path = grafana.db # For "sqlite3" only. cache mode setting used for connecting to the database

cache_mode = private #################################### Cache server #############################

[remote_cache]

# Either "redis", "memcached" or "database" default is "database"

type = database # cache connectionstring options

# database: will use Grafana primary database.

# redis: config like redis server e.g. addr=127.0.0.1:6379,pool_size=100,db=0,ssl=false. Only addr is required. ssl may be 'true', 'false', or 'insecure'.

# memcache: 127.0.0.1:11211

connstr = #################################### Data proxy ###########################

[dataproxy] # This enables data proxy logging, default is false

logging = false # How long the data proxy should wait before timing out default is 30 (seconds)

timeout = 30 # If enabled and user is not anonymous, data proxy will add X-Grafana-User header with username into the request, default is false.

send_user_header = false #################################### Analytics ###########################

[analytics]

# Server reporting, sends usage counters to stats.grafana.org every 24 hours.

# No ip addresses are being tracked, only simple counters to track

# running instances, dashboard and error counts. It is very helpful to us.

# Change this option to false to disable reporting.

reporting_enabled = true # Set to false to disable all checks to https://grafana.com

# for new versions (grafana itself and plugins), check is used

# in some UI views to notify that grafana or plugin update exists

# This option does not cause any auto updates, nor send any information

# only a GET request to https://grafana.com to get latest versions

check_for_updates = true # Google Analytics universal tracking code, only enabled if you specify an id here

google_analytics_ua_id = # Google Tag Manager ID, only enabled if you specify an id here

google_tag_manager_id = #################################### Security ############################

[security]

# disable creation of admin user on first start of grafana

disable_initial_admin_creation = false # default admin user, created on startup

admin_user = admin # default admin password, can be changed before first start of grafana, or in profile settings

admin_password = admin # used for signing

secret_key = SW2YcwTIb9zpOOhoPsMm # disable gravatar profile images

disable_gravatar = false # data source proxy whitelist (ip_or_domain:port separated by spaces)

data_source_proxy_whitelist = # disable protection against brute force login attempts

disable_brute_force_login_protection = false # set to true if you host Grafana behind HTTPS. default is false.

cookie_secure = false # set cookie SameSite attribute. defaults to lax. can be set to "lax", "strict" and "none"

cookie_samesite = lax # set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. default is false.

allow_embedding = false # Set to true if you want to enable http strict transport security (HSTS) response header.

# This is only sent when HTTPS is enabled in this configuration.

# HSTS tells browsers that the site should only be accessed using HTTPS.

# The default will change to true in the next minor release, 6.3.

strict_transport_security = false # Sets how long a browser should cache HSTS. Only applied if strict_transport_security is enabled.

strict_transport_security_max_age_seconds = 86400 # Set to true if to enable HSTS preloading option. Only applied if strict_transport_security is enabled.

strict_transport_security_preload = false # Set to true if to enable the HSTS includeSubDomains option. Only applied if strict_transport_security is enabled.

strict_transport_security_subdomains = false # Set to true to enable the X-Content-Type-Options response header.

# The X-Content-Type-Options response HTTP header is a marker used by the server to indicate that the MIME types advertised

# in the Content-Type headers should not be changed and be followed. The default will change to true in the next minor release, 6.3.

x_content_type_options = false # Set to true to enable the X-XSS-Protection header, which tells browsers to stop pages from loading

# when they detect reflected cross-site scripting (XSS) attacks. The default will change to true in the next minor release, 6.3.

x_xss_protection = false #################################### Snapshots ###########################

[snapshots]

# snapshot sharing options

external_enabled = true

external_snapshot_url = https://snapshots-origin.raintank.io

external_snapshot_name = Publish to snapshot.raintank.io # Set to true to enable this Grafana instance act as an external snapshot server and allow unauthenticated requests for

# creating and deleting snapshots.

public_mode = false # remove expired snapshot

snapshot_remove_expired = true #################################### Dashboards ################## [dashboards]

# Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1

versions_to_keep = 20 #################################### Users ###############################

[users]

# disable user signup / registration

allow_sign_up = false # Allow non admin users to create organizations

allow_org_create = false # Set to true to automatically assign new users to the default organization (id 1)

auto_assign_org = true # Set this value to automatically add new users to the provided organization (if auto_assign_org above is set to true)

auto_assign_org_id = 1 # Default role new users will be automatically assigned (if auto_assign_org above is set to true)

auto_assign_org_role = Viewer # Require email validation before sign up completes

verify_email_enabled = false # Background text for the user field on the login page

login_hint = email or username

password_hint = password # Default UI theme ("dark" or "light")

default_theme = dark # External user management

external_manage_link_url =

external_manage_link_name =

external_manage_info = # Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard.

viewers_can_edit = false # Editors can administrate dashboard, folders and teams they create

editors_can_admin = false [auth]

# Login cookie name

login_cookie_name = grafana_session # The lifetime (days) an authenticated user can be inactive before being required to login at next visit. Default is 7 days.

login_maximum_inactive_lifetime_days = 7 # The maximum lifetime (days) an authenticated user can be logged in since login time before being required to login. Default is 30 days.

login_maximum_lifetime_days = 30 # How often should auth tokens be rotated for authenticated users when being active. The default is each 10 minutes.

token_rotation_interval_minutes = 10 # Set to true to disable (hide) the login form, useful if you use OAuth

disable_login_form = false # Set to true to disable the signout link in the side menu. useful if you use auth.proxy

disable_signout_menu = false # URL to redirect the user to after sign out

signout_redirect_url = # Set to true to attempt login with OAuth automatically, skipping the login screen.

# This setting is ignored if multiple OAuth providers are configured.

oauth_auto_login = false # limit of api_key seconds to live before expiration

api_key_max_seconds_to_live = -1 #################################### Anonymous Auth ######################

[auth.anonymous]

# enable anonymous access

enabled = false # specify organization name that should be used for unauthenticated users

org_name = Main Org. # specify role for unauthenticated users

org_role = Viewer #################################### Github Auth #########################

[auth.github]

enabled = false

allow_sign_up = true

client_id = some_id

client_secret = some_secret

scopes = user:email,read:org

auth_url = https://github.com/login/oauth/authorize

token_url = https://github.com/login/oauth/access_token

api_url = https://api.github.com/user

team_ids =

allowed_organizations = #################################### GitLab Auth #########################

[auth.gitlab]

enabled = false

allow_sign_up = true

client_id = some_id

client_secret = some_secret

scopes = api

auth_url = https://gitlab.com/oauth/authorize

token_url = https://gitlab.com/oauth/token

api_url = https://gitlab.com/api/v4

allowed_groups = #################################### Google Auth #########################

[auth.google]

enabled = false

allow_sign_up = true

client_id = some_client_id

client_secret = some_client_secret

scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email

auth_url = https://accounts.google.com/o/oauth2/auth

token_url = https://accounts.google.com/o/oauth2/token

api_url = https://www.googleapis.com/oauth2/v1/userinfo

allowed_domains =

hosted_domain = #################################### Grafana.com Auth ####################

# legacy key names (so they work in env variables)

[auth.grafananet]

enabled = false

allow_sign_up = true

client_id = some_id

client_secret = some_secret

scopes = user:email

allowed_organizations = [auth.grafana_com]

enabled = false

allow_sign_up = true

client_id = some_id

client_secret = some_secret

scopes = user:email

allowed_organizations = #################################### Generic OAuth #######################

[auth.generic_oauth]

name = OAuth

enabled = false

allow_sign_up = true

client_id = some_id

client_secret = some_secret

scopes = user:email

email_attribute_name = email:primary

email_attribute_path =

role_attribute_path =

auth_url =

token_url =

api_url =

team_ids =

allowed_organizations =

tls_skip_verify_insecure = false

tls_client_cert =

tls_client_key =

tls_client_ca =

send_client_credentials_via_post = false #################################### SAML Auth ###########################

[auth.saml] # Enterprise only

# Defaults to false. If true, the feature is enabled

enabled = false # Base64-encoded public X.509 certificate. Used to sign requests to the IdP

certificate = # Path to the public X.509 certificate. Used to sign requests to the IdP

certificate_path = # Base64-encoded private key. Used to decrypt assertions from the IdP

private_key = # Path to the private key. Used to decrypt assertions from the IdP

private_key_path = # Base64-encoded IdP SAML metadata XML. Used to verify and obtain binding locations from the IdP

idp_metadata = # Path to the SAML metadata XML. Used to verify and obtain binding locations from the IdP

idp_metadata_path = # URL to fetch SAML IdP metadata. Used to verify and obtain binding locations from the IdP

idp_metadata_url = # Duration, since the IdP issued a response and the SP is allowed to process it. Defaults to 90 seconds

max_issue_delay = 90s # Duration, for how long the SP's metadata should be valid. Defaults to 48 hours

metadata_valid_duration = 48h # Friendly name or name of the attribute within the SAML assertion to use as the user's name

assertion_attribute_name = displayName # Friendly name or name of the attribute within the SAML assertion to use as the user's login handle

assertion_attribute_login = mail # Friendly name or name of the attribute within the SAML assertion to use as the user's email

assertion_attribute_email = mail #################################### Basic Auth ##########################

[auth.basic]

enabled = true #################################### Auth Proxy ##########################

[auth.proxy]

enabled = false

header_name = X-WEBAUTH-USER

header_property = username

auto_sign_up = true

ldap_sync_ttl = 60

sync_ttl = 60

whitelist =

headers =

enable_login_token = false #################################### Auth LDAP ###########################

[auth.ldap]

enabled = false

config_file = /etc/grafana/ldap.toml

allow_sign_up = true # LDAP backround sync (Enterprise only)

# At 1 am every day

sync_cron = "0 0 1 * * *"

active_sync_enabled = true #################################### SMTP / Emailing #####################

[smtp]

enabled = false

host = localhost:25

user =

# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""

password =

cert_file =

key_file =

skip_verify = false

from_address = admin@grafana.localhost

from_name = Grafana

ehlo_identity = [emails]

welcome_email_on_sign_up = false

templates_pattern = emails/*.html #################################### Logging ##########################

[log]

# Either "console", "file", "syslog". Default is console and file

# Use space to separate multiple modes, e.g. "console file"

mode = console file # Either "debug", "info", "warn", "error", "critical", default is "info"

level = info # optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug

filters = # For "console" mode only

[log.console]

level = # log line format, valid options are text, console and json

format = console # For "file" mode only

[log.file]

level = # log line format, valid options are text, console and json

format = text # This enables automated log rotate(switch of following options), default is true

log_rotate = true # Max line number of single file, default is 1000000

max_lines = 1000000 # Max size shift of single file, default is 28 means 1 << 28, 256MB

max_size_shift = 28 # Segment log daily, default is true

daily_rotate = true # Expired days of log file(delete after max days), default is 7

max_days = 7 [log.syslog]

level = # log line format, valid options are text, console and json

format = text # Syslog network type and address. This can be udp, tcp, or unix. If left blank, the default unix endpoints will be used.

network =

address = # Syslog facility. user, daemon and local0 through local7 are valid.

facility = # Syslog tag. By default, the process' argv[0] is used.

tag = #################################### Usage Quotas ########################

[quota]

enabled = false #### set quotas to -1 to make unlimited. ####

# limit number of users per Org.

org_user = 10 # limit number of dashboards per Org.

org_dashboard = 100 # limit number of data_sources per Org.

org_data_source = 10 # limit number of api_keys per Org.

org_api_key = 10 # limit number of orgs a user can create.

user_org = 10 # Global limit of users.

global_user = -1 # global limit of orgs.

global_org = -1 # global limit of dashboards

global_dashboard = -1 # global limit of api_keys

global_api_key = -1 # global limit on number of logged in users.

global_session = -1 #################################### Alerting ############################

[alerting]

# Disable alerting engine & UI features

enabled = true

# Makes it possible to turn off alert rule execution but alerting UI is visible

execute_alerts = true # Default setting for new alert rules. Defaults to categorize error and timeouts as alerting. (alerting, keep_state)

error_or_timeout = alerting # Default setting for how Grafana handles nodata or null values in alerting. (alerting, no_data, keep_state, ok)

nodata_or_nullvalues = no_data # Alert notifications can include images, but rendering many images at the same time can overload the server

# This limit will protect the server from render overloading and make sure notifications are sent out quickly

concurrent_render_limit = 5 # Default setting for alert calculation timeout. Default value is 30

evaluation_timeout_seconds = 30 # Default setting for alert notification timeout. Default value is 30

notification_timeout_seconds = 30 # Default setting for max attempts to sending alert notifications. Default value is 3

max_attempts = 3 #################################### Explore #############################

[explore]

# Enable the Explore section

enabled = true #################################### Internal Grafana Metrics ############

# Metrics available at HTTP API Url /metrics

[metrics]

enabled = true

interval_seconds = 10

# Disable total stats (stat_totals_*) metrics to be generated

disable_total_stats = false #If both are set, basic auth will be required for the metrics endpoint.

basic_auth_username =

basic_auth_password = # Send internal Grafana metrics to graphite

[metrics.graphite]

# Enable by setting the address setting (ex localhost:2003)

address =

prefix = prod.grafana.%(instance_name)s. [grafana_net]

url = https://grafana.com [grafana_com]

url = https://grafana.com #################################### Distributed tracing ############

[tracing.jaeger]

# jaeger destination (ex localhost:6831)

address =

# tag that will always be included in when creating new spans. ex (tag1:value1,tag2:value2)

always_included_tag =

# Type specifies the type of the sampler: const, probabilistic, rateLimiting, or remote

sampler_type = const

# jaeger samplerconfig param

# for "const" sampler, 0 or 1 for always false/true respectively

# for "probabilistic" sampler, a probability between 0 and 1

# for "rateLimiting" sampler, the number of spans per second

# for "remote" sampler, param is the same as for "probabilistic"

# and indicates the initial sampling rate before the actual one

# is received from the mothership

sampler_param = 1

# Whether or not to use Zipkin span propagation (x-b3- HTTP headers).

zipkin_propagation = false

# Setting this to true disables shared RPC spans.

# Not disabling is the most common setting when using Zipkin elsewhere in your infrastructure.

disable_shared_zipkin_spans = false #################################### External Image Storage ##############

[external_image_storage]

# You can choose between (s3, webdav, gcs, azure_blob, local)

provider = [external_image_storage.s3]

bucket_url =

bucket =

region =

path =

access_key =

secret_key = [external_image_storage.webdav]

url =

username =

password =

public_url = [external_image_storage.gcs]

key_file =

bucket =

path = [external_image_storage.azure_blob]

account_name =

account_key =

container_name = [external_image_storage.local]

# does not require any configuration [rendering]

# Options to configure a remote HTTP image rendering service, e.g. using https://github.com/grafana/grafana-image-renderer.

# URL to a remote HTTP image renderer service, e.g. http://localhost:8081/render, will enable Grafana to render panels and dashboards to PNG-images using HTTP requests to an external service.

server_url =

# If the remote HTTP image renderer service runs on a different server than the Grafana server you may have to configure this to a URL where Grafana is reachable, e.g. http://grafana.domain/.

callback_url = [panels]

# here for to support old env variables, can remove after a few months

enable_alpha = false

disable_sanitize_html = false [plugins]

enable_alpha = false

app_tls_skip_verify_insecure = false [enterprise]

license_path = [feature_toggles]

# enable features, separated by spaces

enable =
  1. 修改docker-compose.yml,将defaults.ini文件挂载进去
version: '2'
services:
grafana:
image: "grafana/grafana"
hostname: grafana
container_name: grafana
ports:
- '3000:3000'
volumes:
- /wdata/server/grafana/db/:/var/lib/grafana/
- /wdata/server/grafana/etc/grafana.ini:/etc/grafana/grafana.ini
- /wdata/server/grafana/etc/defaults.ini:/usr/share/grafana/conf/defaults.ini
restart: always
network_mode: host
  1. 执行docker-compose up -d重启grafana再发送测试邮件访问里面的URL就能正常跳转到grafana了

[转帖]grafana配置邮件发送的更多相关文章

  1. CentOS6配置邮件发送

    CentOS6配置邮件发送 注意:要启用邮箱的服务端授权代理功能,并从中获取授权码 \cp /etc/mail.rc{,.bak} # 备份配置文件 cat >>/etc/mail.rc& ...

  2. django 配置邮件发送 send_email

    导入 send_email 所用方法导入 from django.core.mail import send_mail 因为使用的需要指明 发送人 所以要把 setting.py 中的 EMAIL_F ...

  3. Jenkins配置邮件发送测试报告

    前言 在之前的文章(Jenkins自动执行python脚本输出测试报告)中,我们已成功实现利用Jenkins自动执行python脚本,输出并可直接在界面上查看测试报告,这里我们还差最后一步,我们需要将 ...

  4. Linux配置邮件发送信息

    背景 一般情况下,我们的IT系统都会有相关的告警的处理,有的是邮件,有的是短信,这些都能很方便的获得一些有用的信息 在某些时候我们没有这样的系统,而自己又需要定期的获取一些信息的时候,配置一个邮件发送 ...

  5. WordPress如何配置邮件发送?

    WordPress配置了邮件发送最直接的用处就是可以通过邮件找回密码,当然还有其他的用处,比如Wordpress有新用户注册,订单状态.评论等发生变化时给管理员发送邮件提醒等. 经过大量用户实践反馈, ...

  6. Centos 7 配置邮件发送

    一.环境 系统:centos 7 sendmail:sendmail.x86_64 0:8.14.7-5.el7 mailx版本:mailx-12.5-19.el7.x86_64 二.软件安装: 1. ...

  7. jenkiins 配置邮件发送(四)

    一.默认邮件配置的方法 Jenkins默认的插件只能发送执行失败的job 系统管理-->系统设置-->邮件通知 需要注意的是系统管理员邮箱地址必须要邮箱通知的邮箱一致,否则不会发送成功 在 ...

  8. redmine 配置邮件发送为async后,不能发送邮件(转载)

    通过参考:http://www.oschina.net/question/2005703_16688 之前configuration.yaml文件中email的相关配置如下: production: ...

  9. CentOS 7安装GitLab、汉化、配置邮件发送

    1.更换国内yum源 1.1 备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 1.2 ...

  10. java spring 邮件发送

    开发中经常会遇到发送邮件进行用户验证,或者其它推送信息的情况,本文基于spring,完成邮件的发送,主要支持普通文本邮件的发送,html文本邮件的发送,带附件的邮件发送,没有实现群发.多个附件发送等需 ...

随机推荐

  1. ClickHouse(21)ClickHouse集成Kafka表引擎详细解析

    目录 Kafka表集成引擎 配置 Kerberos 支持 虚拟列 资料分享 参考文章 Kafka表集成引擎 此引擎与Apache Kafka结合使用. Kafka 特性: 发布或者订阅数据流. 容错存 ...

  2. 文心一言 VS 讯飞星火 VS chatgpt (126)-- 算法导论11.1 1题

    一.用go语言,假设一动态集合 S用一个长度为 m 的直接寻址表T来表示.请给出一个查找 S 中最大元素的过程.你所给的过程在最坏情况下的运行时间是多少? 文心一言,代码正常运行: 在这个问题中,我们 ...

  3. 占位图片(Placeholder Image)

    一.引言 在网页设计和开发中,占位图片(Placeholder Image)是一种常见的技术手段,用于在用户上传图片之前或者图片加载失败时,展示一个临时替代的图片,以提高用户体验.本文将详细介绍占位图 ...

  4. linux中mysql下载安装部署

    创建mysql文件 mkdir mysql 首先通过yum下载wget命令 yum -y install wget 在mysql文件中通过wget下载MySQL存储库 wget https://dev ...

  5. 云小课 | 守护网络安全不是问题,iptables的四表五链为你开启“八卦阵”

    摘要:担心网络基本安全?iptables八卦阵为您守护!本文带您一起了解iptables的相关知识. 网络世界就和现实世界一样,总是会有些不怀好意的"人"出现,扫扫你的端口啊,探测 ...

  6. 解读8大场景下Kunpeng BoostKit 使能套件的最佳能力和实践

    摘要:本次鲲鹏 BoostKit 训练营为开发者介绍如何基于鲲鹏 BoostKit 使能套件实现应用性能的加速,并重点剖析性能优化技术和关键能力. 本文分享自华为云社区<[云驻共创]" ...

  7. 智定义、易调整,火山引擎DataLeap助力企业轻松实现全流程值班管理

     更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   近日,火山引擎大数据研发治理套件DataLeap全新上线值班管理模块,企业可通过该模块体系化智能化创建值班计 ...

  8. MongoDB 读写分离——MongoDB 安装

    下载安装包:https://www.mongodb.com/try/download/community 同一台电脑装了两服务,所以下载zip包,单机服务 mis 安装方便些 解压并重命名. 4.2  ...

  9. 转载--阿里云ECS自建K8S集群

    一.概述(官方建议) 集群规划 目前在创建Kubernetes集群时,存在着使用很多小规格ECS的现象,这样做有以下弊端: 小规格Woker ECS的网络资源受限. 如果一个容器基本可以占用一个小规格 ...

  10. 例题 5-7 丑数(Ugly Numbers,UVa 136)

    题意: 丑数是一些因子只有2,3,5的数.数列1,2,3,4,5,6,8,9,10,12,15--写出了从小到大的前11个丑数,1属于丑数.现在请你编写程序,找出第1500个丑数是什么. 思路: 如果 ...