`
turingfellow
  • 浏览: 135305 次
  • 性别: Icon_minigender_1
  • 来自: 福建省莆田市
社区版块
存档分类
最新评论

Prometheus 2/4

    博客分类:
  • jade
阅读更多
distributed)or outside of the agent part of the system.If done within the agent part
of the system then the Prometheus methodology can be applied,otherwise existing
methodologies can be used.
The online bookstore has the percepts of customers visiting the website,selecting
items,placing orders(using forms),and receiving email from customers,delivery ser-
vices and book suppliers.Actions are bank transactions,sending email,and placing
delivery orders.
In parallel with discovering or specifying(which of these will depend on the situ-
ation)the percepts and actions the developer must start to describe what it is the agent
system should do in a broader sense-the functionalities3 of the system.For example,
in order to define the book store we may need to define functionalities such as“the
book store will provide a personalised interface to customers”and“the book store will
maintain its stock”.These functionalities start to give an understanding of the system-
some sense of its purpose.
It is important in defining functionalities that they be kept as narrow as possible,
dealing with a single aspect or goal of the system.If functionalities are too broad they
are likely to be less adequately specified leading to potential misunderstanding.
In defining a functionality it is important to also define the information that is re-
quired,and the information produced by it.The functionality descriptor produced con-
tains a name,a short natural language description,a list of actions,a list of relevant
percepts,data used and produced and a brief description of interactions with other
functionalities.For example,the following describes the welcomer functionality in the
online bookstore.
Welcomer:provides a customised response to the user when they log into the site.
Actions:provide link to status of existing orders,welcome by name,welcome as new
user,query enjoyment of recent purchases,indicate special offers relevant to interests.
Percepts:Customer accesses site.
Data access:Reads customer information,special offers,and customer interactions
data.Writes customer interactions data.
Interactions:No interactions with other functionalities.
While functionalities focus on particular aspects of the system,use case scenarios
give a more holistic view of the system.The basic idea is borrowed from object oriented
design.However,the use case scenarios are given slightly more structure.
The central part of a use case scenario in Prometheus is the sequence of steps de-
scribing an example of the system in operation.Each step is annotated with the name
of the functionality responsible,as well as information used or produced.These anno-
tations allow cross checking for consistency with the functionality descriptors.
The use case templates which we use contain an identification number,a brief
natural language overview,an optional field called context which indicates when this
scenario would happen,or the start point of the scenario,the scenario itself which is
a sequence of steps,a summary of all the information used in the various steps,and
a list of small variations.Because a scenario captures only one particular sequence of
3
A number of methodologies call these“roles”.We prefer to avoid overloading the term since
it has a similar,but non-identical,meaning in the context of teams of agents.
steps it can be useful to indicate small variations with a brief description.Any major
variations should be a separate use case scenario.
3 Architectural design
The major decision to be made during the architectural design is which agents should
exist.We assign functionalities to agents by analysing the artifacts of the previous phase
to suggest possible assignments of functionalities to agents.These are then evaluated
according to the traditional software engineering criteria of coherence and coupling.
The process of identifying agents by grouping functionalities involves analysing the
reasons for and against groupings of particular functionalities.If functionalities use the
same data it is an indication for grouping them,as is significant interaction between
them.Reasons against groupings may be clearly unrelated functionality or existence on
different hardware platforms.More generally,we seek to have agents which have strong
coherence and loose coupling.
It can be useful at this stage to draw a matrix having all functionalities on one axis
and the properties or relationships on the other axis.Specific properties and relation-
ships that are useful in deriving groupings of functionalities are whether two function-
alities are related,whether they are clearly unrelated,the data used4 and data produced
as well as information received from other functionalities and data that is written by two
(or more)functionalities.The last two columns can be derived from the information in
the previous columns.
In order to evaluate a potential grouping for coupling we use an agent acquaintance
diagram.This diagram simply links each agent with each other agent with which it inter-
acts.A design with fewer linkages is less highly coupled and therefore preferable.The
design for the book store depicted below(on the right)is reasonable,since it indicates
low coupling.A design which produced an acquaintance diagram where each agent
was linked to every other agent would be highly undesirable.Note that Prometheus
uses a consistent notation to depict agents,events,plans,capabilities,etc.This notation
is summarised below,on the left.
A simple heuristic for assessing coherence is whether an agent has a simple descrip-
tive name which encompasses all the functionalities without any conjunctions(“and”).
For example,the shop assistant agent combines the functionalities of visit manager,
client welcomer,query processor,pro-active helper,and customer DB manager;yet it
has a simple descriptive name.
4
Both read(in the case of data stores)and received(in the case of events and messages).
Once a decision has been made as to which agents the system should contain it is
possible to start working out and describing some of the necessary information about
agents.The high level information about each agent is contained in the form of an
agent descriptor,similar to functionality descriptors.Questions which need to be re-
solved about agents at this stage include:How many agents of this type will there be
(singleton,a set number,or multiple based on dynamics of the system,e.g.one sales
assistant agent per customer)?What is the lifetime of the agent?If they are created or
destroyed during system operation(other than at start-up and shut-down),what triggers
this?Agent initialisation-what needs to be done?Agent demise-what needs to be
done?What data does this agent need to keep track of?What events will this agent
react to?
Agent descriptors contain the above information plus the name and description of
the agent,a brief description of ways in which it interacts with other agents and a list
of the functionalities which are incorporated within this agent.For example consider
the following agent descriptor:
Name:Shop assistant agent
Description:greets customer,follows through site,assists with finding books
Cardinality:1/customer.Instantiated on customer arrival at site
Functionalities included:visit manager,client welcomer,query processor,pro-active
helper,customer DB manager.
Reads data:user profile,client orders
Writes data:user profile
Interacts with:cashier(to pay for purchase);warehouse manager(to get price,avail-
ability and to hand over order for shipping)
Consistency checking should be done to ensure that agent descriptors are consistent
with the set of functionality descriptors which have been incorporated within the agent.
Particular items to check are the information,and the agent interactions.If a function-
ality is listed as interacting with another functionality,then this should translate into an
agent interaction,unless the two functionalities are incorporated within the same agent.
At this stage of the design it is important to identify what events(i.e.significant
occurrences)will be generated as a result of information from the environment(the
percepts),either directly or after processing.These are the things the agents will notice,
which will cause them to react in some way.A decision must be made as to which
agents will react to which events.
In order to accomplish the various aims of the system agents will also send messages
to each other.These must also be identified at this stage.It is also necessary to identify
what information fields will be carried in these messages,as this forms the interface
definition between the agents.
If the implementation platform does not provide specialised message types,these
must be specified precisely at this stage to enable modularity in the development of the
detailed design for the individual agents.
Shared data objects(if any)must also be identified at this stage.A good design
will minimise these,but there may be situations where it is reasonable to have shared
data objects.If multiple agents will be writing to shared data objects this will require
significant additional care for synchronisation(as agents operate concurrently with each
分享到:
评论

相关推荐

    Prometheus 2.36.2 / 2022-06-20发布国内下载

    4. **警报管理**:Prometheus内置了警报管理器,可以定义规则将监控数据转化为警报,并通过Alertmanager发送通知到各种接收渠道。 5. **客户端库和代理**:Prometheus提供了多种语言的客户端库,方便在应用中集成...

    在k8s中部署prometheus的镜像

    4. 创建Prometheus Service 创建一个Service,以便其他组件可以访问Prometheus实例。 ```yaml apiVersion: v1 kind: Service metadata: name: prometheus spec: selector: app: prometheus ports: - port: ...

    Prometheus从入门到精通-玩转Prometheus

    2. **配置Prometheus**:在Prometheus的配置文件`prometheus.yml`中添加远程主机的信息,以便Prometheus服务器能够知道哪些主机需要监控。 3. **启动服务**:重启Prometheus服务使配置生效。 #### 监控MySQL数据库 ...

    Prometheus+Grafana部署使用说明1

    4. 启动Prometheus服务:`./service.sh`。 5. 通过Web访问Prometheus UI:http://localhost:9090。 二、Grafana部署 Grafana是一款流行的可视化工具,可以将Prometheus等数据源的数据展示成图表。 1. 下载Grafana...

    Linux安装Prometheus(32)

    2. 启动Prometheus服务: ``` sudo su -s /bin/bash prometheus -c /etc/prometheus/prometheus.yml --storage.tsdb.path /var/lib/prometheus/ ``` 3. 为了使Prometheus随系统启动自动运行,可以创建systemd...

    prometheus-2.47.2.windows-amd64 prometheus windows

    这个压缩包 "prometheus-2.47.2.windows-amd64" 是 Prometheus 的 Windows 平台版本,适用于 x86-64(AMD64)架构的计算机。 在深入探讨 Prometheus 的具体知识点之前,我们先来理解一下它的核心组件和工作原理: ...

    prometheus安装包.zip

    2. **服务发现 (Service Discovery)**:Prometheus能够自动发现要监控的目标,如服务、容器或节点,通过配置文件或者集成的SD机制(如Kubernetes的Endpoints)。 3. **目标刮取 (Target Scraping)**:Prometheus...

    最新版windows prometheus-2.29.2.windows-amd64.zip

    这个压缩包“最新版windows prometheus-2.29.2.windows-amd64.zip”包含了适用于Windows操作系统的Prometheus 2.29.2版本,专为64位(AMD64)架构设计。 Prometheus 2.29.2是该软件的一个稳定版本,相较于早期版本...

    prometheus+springboot监控集成.docx

    4. **配置Prometheus监控node_exporter** 修改`prometheus.yml`配置文件,添加对node_exporter的引用,如: ``` static_configs: - targets: ['localhost:9090'] # 采集Prometheus自身监控数据 - job_name: '...

    最新版linux prometheus-2.29.2.linux-arm64.tar.gz

    4. **表达式语言**:Prometheus 提供了一种强大的查询语言 PromQL (Prometheus Query Language),用户可以使用它来查询、聚合和分析时间序列数据。 5. **可视化与警报管理**:Prometheus 提供了内置的 Web UI,用于...

    prometheus-api数据采集

    2. **数据集成**:将 Prometheus 数据与其他系统(如 BI 工具、日志分析平台)集成,进行更深入的分析。 3. **自动化报警**:基于 API 数据,通过 Python 脚本实现自动报警逻辑,比如当某个指标超出预设阈值时发送...

    prometheus、grafana离线包

    4. **警报管理**:Prometheus支持定义规则,当满足特定条件时触发警报,可与Alertmanager配合将警报发送至不同的通知渠道。 5. **服务发现**:Prometheus能自动发现和跟踪服务,适应微服务和容器化环境。 而...

    prometheus linux安装包 麒麟v10

    4. **启动Prometheus**:Prometheus提供了一个可执行文件`prometheus`,你可以通过命令行启动它。在配置文件所在的目录下运行: ``` ./prometheus --config.file=prometheus.yml ``` 5. **设置开机启动**:为了...

    Python调用Prometheus监控数据并计算.zip

    2. **时间序列数据**:Prometheus收集的是随时间变化的度量值,每个度量值都有一个或多个标签,用于区分不同实例或维度。 3. **PromQL(Prometheus Query Language)**:PromQL是Prometheus的强大查询语言,允许...

    prometheus公版2.49 linux安装包

    4. **运行Prometheus**: 启动Prometheus服务器,可以使用解压后目录中的`prometheus`二进制文件: ``` ./prometheus-2.49.1.linux-amd64/prometheus --config.file=prometheus.yml ``` 如果没有指定配置文件...

    prometheus-2.25.2.linux-amd64.tar.gz

    4. **规则定义**:Prometheus支持设置规则,可以定期评估表达式并根据结果触发警报或记录数据。这对于监控服务健康状况、性能阈值和趋势分析至关重要。 5. **数据持久化**:Prometheus将收集的数据存储在本地文件...

    Prometheus监控

    2. **Prometheus安装**: ```shell tar -zxvf prometheus-2.42.0.linux-amd64.tar.gz -C /usr/local cd /usr/local mv prometheus-2.42.0.linux-amd64/prometheus /usr/local/prometheus cd /usr/local/...

    prometheus一键部署文档,只需要执行install命令安装prometheus+alertmanager+grafana

    2. **Alertmanager**: - **功能**:Alertmanager 处理由 Prometheus 发起的警报,避免重复报警、组合相关警报并决定何时发送通知。 - **通知策略**:Alertmanager 支持多种通知方式,如电子邮件、短信、Slack、...

    Telerik RadControls Prometheus Q2 2007

    2. **Telerik.Charting.dll**:这个库提供了强大的图表功能,允许开发者创建各种复杂的图表,包括线图、柱状图、饼图等,以直观地展示数据。这个版本可能包含新的图表类型或改进的性能和自定义选项。 3. **Telerik....

Global site tag (gtag.js) - Google Analytics