SlideShare a Scribd company logo
Introduction to
 CloudForecast
   Yokohama.pm #6.x


      @kazeburo
•
• @kazeburo
• 2010 5
• 2010 6
• Web
CloudForecast

•

•
• perl        rrdtool         sysadmin
                         (by tokuhirom)
•
•
(1)
(1)


• ping
(1)


• ping
• HTTP,SSH
(1)


• ping
• HTTP,SSH
•            Disk
(2)

•
•
•
    • Nagios
    • monit
(1)
(1)



•
(1)



•
• CPU
(2)
•
•
•
    •   Cacti
    •   munin
    •   Ganglia
    •   CloudForecast
CloudForecast

•

• YAML
•         Web

• Perl!
CPAN
•   Plack + Starlet
•   Gearman
•   Parallel::Prefork
•   DBI DBD::SQLite

•   YAML::Syck
•   Text::Xslate
•   Data::Section::Simple
•   local::lib
• RRDTool RRDs.pm
• SNMP.pm
• Shirahata(WAF)
CloudForecast                  1




                RRD

    Radar                Web

                SQLite
CloudForecast                  1



(1)




                      RRD

          Radar                Web

                      SQLite
CloudForecast                  1



(1)




                      RRD

          Radar                Web

                      SQLite

            (2)
CloudForecast                        1



(1)




                      RRD

          Radar                      Web

                      SQLite

            (2)                (3)
CloudForecast                        1



(1)




                      RRD

          Radar                      Web

                      SQLite

            (2)                (3)
CloudForecast               2



         fetcher
         worker



                   RRD
         update
Radar                       Web
         worker
                   SQLite
CloudForecast                   2

                   Gearman
                   Worker


         fetcher
         worker



                        RRD
         update
Radar                           Web
         worker
                       SQLite
CloudForecast                  2

                  Gearman
                  Worker




                       RRD
         update
Radar                          Web
         worker
                      SQLite
Introduction to cloudforecast
1


# ubuntu
$ sudo apt-get install librrds-perl libsnmp-perl

# CentOS rrdtool   EPEL
$ sudo yum install net-snmp-perl
$ sudo yum install rrdtool-perl
2

$ git clone git://github.com/kazeburo/cloudforecast.git
$ cd cloudforecast
$ cpanm -l extlib --installdeps .
$ ls
Changes                   cloudforecast_web
Makefile.PL               docs
README                    host_config
cf_devstarter             htdocs
cf_fetcher_worker         lib
cf_updater_worker         server_list_sample.yaml
cloudforecast_radar       t
cloudforecast_sample.yaml
#
$ cp cloudforecast_sample.yaml cloudforecast.yaml

#
$ cp server_list_sample.yaml server_list.yaml
(server_list.yaml)

--- #LOCALHOST
servers:
  - config: basic.yaml
    hosts:
      - 127.0.0.1 server1 my great localhost

--- #My Servers
servers:
  - config: basic.yaml
    hosts:
             ....
(server_list.yaml)

--- #LOCALHOST
servers:
  - config: basic.yaml
    hosts:
      - 127.0.0.1 server1 my great localhost

--- #My Servers
servers:
  - config: basic.yaml
    hosts:
             ....
(server_list.yaml)

--- #LOCALHOST
servers:
  - config: basic.yaml
    hosts:
      - 127.0.0.1 server1 my great localhost

--- #My Servers
servers:
  - config: basic.yaml
    hosts:
             ....
(server_list.yaml)

--- #LOCALHOST
servers:
  - config: basic.yaml
    hosts:
      - 127.0.0.1 server1 my great localhost

--- #My Servers
      IP
servers:
  - config: basic.yaml
    hosts:
             ....
(server_list.yaml)

--- #LOCALHOST
servers:
  - config: basic.yaml
    hosts:
      - 127.0.0.1 server1 my great localhost

--- #My Servers
      IP
servers:
  - config: basic.yaml
    hosts:
             ....
(server_list.yaml)

--- #LOCALHOST
servers:
  - config: basic.yaml
    hosts:
      - 127.0.0.1 server1 my great localhost

--- #My Servers
      IP
servers:
  - config: basic.yaml
    hosts:
             ....
(basic.yaml)

---
component_config:
resources:
  - basic
  - traffic:eth0




      basic = eth0   CPU    TCP
(basic.yaml)

---
component_config:
resources:
  - basic
  - traffic:eth0




      basic = eth0   CPU    TCP
(basic.yaml)

---
component_config:
resources:
  - basic
  - traffic:eth0




      basic = eth0   CPU    TCP
•   Basic(CPU       TCP   )

•   Traffic
•   Disk Usage
•   DiskIO Count
•   Apache Status
•   Nginx Status
•   Squid
•   Mysql
•   Innodb
$ perldoc CloudForecast::Data::
$ perldoc CloudForecast::Data::
CloudForecast
  http://blog.nomadscafe.jp/2010/07/cloudforecast-1.html
#
$ ./cloudforecast_radar -c cloudforecast.yaml 
                        -l server_list.yaml

# Web
$ ./cloudforecast_web -p 5000 -c cloudforecast.yaml 
                      -l server_list.yaml
Web   (   )
Web   (   )
http://blog.nomadscafe.jp/2010/07/cloudforecast-2.html
Introduction to cloudforecast
•
•
•
•
•
•
# site-lib
$ mkdir -p site-lib/CloudForecast/Data
Gearman Worker


gearman        worker process


    http://blog.nomadscafe.jp/2010/07/gearman-worker-process.html
% ./gearman-starter.pl --max-prcess 8 -s 127.0.0.1:7004 
   --scoreboard-dir /var/run/worker --port 7005 MyWorker

% telnet localhost 7005
Trying 127.0.0.1...
System: gearman_servers: 127.0.0.1:7004 class: MyWorker
BusyWorkers: 0
IdleWorkers: 8
--
pid       Status Counter Comment
1630           . 0
1631           . 0
1632           . 0
1633           . 0
1634           . 0
1635           . 0
1636           . 0
1637           . 0
% ./gearman-starter.pl --max-prcess 8 -s 127.0.0.1:7004 
   --scoreboard-dir /var/run/worker --port 7005 MyWorker

% telnet localhost 7005
Trying 127.0.0.1...
System: gearman_servers: 127.0.0.1:7004 class: MyWorker
BusyWorkers: 0
IdleWorkers: 8
--
pid       Status Counter Comment
1630           . 0
1631           . 0
1632           . 0
1633           . 0
1634           . 0
1635           . 0
1636           . 0
1637           . 0
•
•
package CloudForecast::Data::Gearmanstarter;

use CloudForecast::Data -base;
use IO::Socket::INET;

=pod
  host_config)
    resources:
      - gearmanstarter[:port]

  eg)
    - gearmanstarter   #         9000
    - gearmanstarter:9005 #      port
=cut
rrds map { [$_,'GAUGE'] } qw/busy idle/;

# rrds ‘key’, ‘TYPE’ or rrds [‘key’,‘TYPE’], []..
•   COUNTER
    •
    •
    •   ) Traffic (   octet )

•   GAUGE
    •
    •
    •   )
(1)



graphs 'status' => 'worker status';

# graphs ‘key1’ => ‘label’;
# graphs ‘key2’ => ‘the great graph’;
(2)
graphs 'status' => 'worker status';
..

__DATA__
@@ status
DEF:my1=<%RRD%>:busy:AVERAGE
DEF:my2=<%RRD%>:idle:AVERAGE
AREA:my1#00C000:Busy
GPRINT:my1:LAST:Cur: %4.1lf
GPRINT:my1:AVERAGE:Ave: %4.1lf
GPRINT:my1:MAX:Max: %4.1lf
GPRINT:my1:MIN:Min: %4.1lfc
STACK:my2#0000C0:Idle
GPRINT:my2:LAST:Cur: %4.1lf
GPRINT:my2:AVERAGE:Ave: %4.1lf
GPRINT:my2:MAX:Max: %4.1lf
GPRINT:my2:MIN:Min: %4.1lfc
(2)
      graphs 'status' => 'worker status';
      ..
key
      __DATA__
      @@ status
      DEF:my1=<%RRD%>:busy:AVERAGE
      DEF:my2=<%RRD%>:idle:AVERAGE
      AREA:my1#00C000:Busy
      GPRINT:my1:LAST:Cur: %4.1lf
      GPRINT:my1:AVERAGE:Ave: %4.1lf
      GPRINT:my1:MAX:Max: %4.1lf
      GPRINT:my1:MIN:Min: %4.1lfc
      STACK:my2#0000C0:Idle
      GPRINT:my2:LAST:Cur: %4.1lf
      GPRINT:my2:AVERAGE:Ave: %4.1lf
      GPRINT:my2:MAX:Max: %4.1lf
      GPRINT:my2:MIN:Min: %4.1lfc
fetcher {
    my $c = shift;
    my $host = $c->address;
    my $port = $c->args->[0] || 9000;
    my $sock = IO::Socket::INET->new(
        PeerAddr => $host,
        PeerPort => $port,
        Proto    => 'tcp',
    );
    my $raw_stats;
    $sock->sysread( $raw_stats, 8192 );
    my ($busy, $idle);
    foreach my $line ( split /[rn]+/, $raw_stats ) {
        if ( $line =~ /^Busy.+: (d+)/ ) {
            $busy = $1;
        }
        if ( $line =~ /^Idle.+: (d+)/ ) {
            $idle = $1;
        }
    }
    return [$busy,$idle];
};
fetcher {
    my $c = shift;
    my $host = $c->address;
    my $port = $c->args->[0] || 9000;
    my $sock = IO::Socket::INET->new(
        PeerAddr => $host,
        PeerPort => $port,
        Proto    => 'tcp',
    );
    my $raw_stats;
    $sock->sysread( $raw_stats, 8192 );
    my ($busy, $idle);
    foreach my $line ( split /[rn]+/, $raw_stats ) {
        if ( $line =~ /^Busy.+: (d+)/ ) {
            $busy = $1;
        }
        if ( $line =~ /^Idle.+: (d+)/ ) {
            $idle = $1;
        }
    }
    return [$busy,$idle];
};
•
Introduction to cloudforecast
IDLE

       BUSY
TODO/Plan


• Web
• RRD   SQLite

•
• CloudForecast   Perl



•
•
Introduction to cloudforecast

More Related Content

What's hot (20)

ELK stack at weibo.com
ELK stack at weibo.comELK stack at weibo.com
ELK stack at weibo.com
琛琳 饶
 
Nginx-lua
Nginx-luaNginx-lua
Nginx-lua
Дэв Тим Афс
 
Terraform 0.9 + good practices
Terraform 0.9 + good practicesTerraform 0.9 + good practices
Terraform 0.9 + good practices
Radek Simko
 
{{more}} Kibana4
{{more}} Kibana4{{more}} Kibana4
{{more}} Kibana4
琛琳 饶
 
Top Node.js Metrics to Watch
Top Node.js Metrics to WatchTop Node.js Metrics to Watch
Top Node.js Metrics to Watch
Sematext Group, Inc.
 
Openstack presentation
Openstack presentationOpenstack presentation
Openstack presentation
bodepd
 
Bootstrapping multidc observability stack
Bootstrapping multidc observability stackBootstrapping multidc observability stack
Bootstrapping multidc observability stack
Bram Vogelaar
 
RestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message QueueRestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message Queue
Gleicon Moraes
 
Amazed by AWS Series #4
Amazed by AWS Series #4Amazed by AWS Series #4
Amazed by AWS Series #4
Amazon Web Services Korea
 
Lightweight wrapper for Hive on Amazon EMR
Lightweight wrapper for Hive on Amazon EMRLightweight wrapper for Hive on Amazon EMR
Lightweight wrapper for Hive on Amazon EMR
Shinji Tanaka
 
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteIntegrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Bram Vogelaar
 
Puppet and the HashiStack
Puppet and the HashiStackPuppet and the HashiStack
Puppet and the HashiStack
Bram Vogelaar
 
Workshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - SuestraWorkshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - Suestra
Mario IC
 
Terraforming the Kubernetes Land
Terraforming the Kubernetes LandTerraforming the Kubernetes Land
Terraforming the Kubernetes Land
Radek Simko
 
RubyKaigi2015 making robots-with-mruby
RubyKaigi2015 making robots-with-mrubyRubyKaigi2015 making robots-with-mruby
RubyKaigi2015 making robots-with-mruby
yamanekko
 
Infrastructure as Code in Google Cloud
Infrastructure as Code in Google CloudInfrastructure as Code in Google Cloud
Infrastructure as Code in Google Cloud
Radek Simko
 
Observability with Consul Connect
Observability with Consul ConnectObservability with Consul Connect
Observability with Consul Connect
Bram Vogelaar
 
Introductory Overview to Managing AWS with Terraform
Introductory Overview to Managing AWS with TerraformIntroductory Overview to Managing AWS with Terraform
Introductory Overview to Managing AWS with Terraform
Michael Heyns
 
Apache MXNet Distributed Training Explained In Depth by Viacheslav Kovalevsky...
Apache MXNet Distributed Training Explained In Depth by Viacheslav Kovalevsky...Apache MXNet Distributed Training Explained In Depth by Viacheslav Kovalevsky...
Apache MXNet Distributed Training Explained In Depth by Viacheslav Kovalevsky...
Big Data Spain
 
Ruby meets Go
Ruby meets GoRuby meets Go
Ruby meets Go
NTT Communications Technology Development
 
ELK stack at weibo.com
ELK stack at weibo.comELK stack at weibo.com
ELK stack at weibo.com
琛琳 饶
 
Terraform 0.9 + good practices
Terraform 0.9 + good practicesTerraform 0.9 + good practices
Terraform 0.9 + good practices
Radek Simko
 
{{more}} Kibana4
{{more}} Kibana4{{more}} Kibana4
{{more}} Kibana4
琛琳 饶
 
Openstack presentation
Openstack presentationOpenstack presentation
Openstack presentation
bodepd
 
Bootstrapping multidc observability stack
Bootstrapping multidc observability stackBootstrapping multidc observability stack
Bootstrapping multidc observability stack
Bram Vogelaar
 
RestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message QueueRestMQ - HTTP/Redis based Message Queue
RestMQ - HTTP/Redis based Message Queue
Gleicon Moraes
 
Lightweight wrapper for Hive on Amazon EMR
Lightweight wrapper for Hive on Amazon EMRLightweight wrapper for Hive on Amazon EMR
Lightweight wrapper for Hive on Amazon EMR
Shinji Tanaka
 
Integrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suiteIntegrating icinga2 and the HashiCorp suite
Integrating icinga2 and the HashiCorp suite
Bram Vogelaar
 
Puppet and the HashiStack
Puppet and the HashiStackPuppet and the HashiStack
Puppet and the HashiStack
Bram Vogelaar
 
Workshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - SuestraWorkshop Infrastructure as Code - Suestra
Workshop Infrastructure as Code - Suestra
Mario IC
 
Terraforming the Kubernetes Land
Terraforming the Kubernetes LandTerraforming the Kubernetes Land
Terraforming the Kubernetes Land
Radek Simko
 
RubyKaigi2015 making robots-with-mruby
RubyKaigi2015 making robots-with-mrubyRubyKaigi2015 making robots-with-mruby
RubyKaigi2015 making robots-with-mruby
yamanekko
 
Infrastructure as Code in Google Cloud
Infrastructure as Code in Google CloudInfrastructure as Code in Google Cloud
Infrastructure as Code in Google Cloud
Radek Simko
 
Observability with Consul Connect
Observability with Consul ConnectObservability with Consul Connect
Observability with Consul Connect
Bram Vogelaar
 
Introductory Overview to Managing AWS with Terraform
Introductory Overview to Managing AWS with TerraformIntroductory Overview to Managing AWS with Terraform
Introductory Overview to Managing AWS with Terraform
Michael Heyns
 
Apache MXNet Distributed Training Explained In Depth by Viacheslav Kovalevsky...
Apache MXNet Distributed Training Explained In Depth by Viacheslav Kovalevsky...Apache MXNet Distributed Training Explained In Depth by Viacheslav Kovalevsky...
Apache MXNet Distributed Training Explained In Depth by Viacheslav Kovalevsky...
Big Data Spain
 

Similar to Introduction to cloudforecast (20)

"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
Ryosuke IWANAGA
 
DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜
DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜
DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜
Michitoshi Yoshida
 
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby Systems
Engine Yard
 
Deathstar
DeathstarDeathstar
Deathstar
armstrtw
 
MySQL Spider Architecture
MySQL Spider ArchitectureMySQL Spider Architecture
MySQL Spider Architecture
I Goo Lee
 
Spider Setup with AWS/sandbox
Spider Setup with AWS/sandboxSpider Setup with AWS/sandbox
Spider Setup with AWS/sandbox
I Goo Lee
 
Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)
Ontico
 
Mongodb workshop
Mongodb workshopMongodb workshop
Mongodb workshop
Harun Yardımcı
 
Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM  Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM
Mark Rees
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
Aman Gupta
 
R-House (LSRC)
R-House (LSRC)R-House (LSRC)
R-House (LSRC)
Fernand Galiana
 
dotCloud and go
dotCloud and godotCloud and go
dotCloud and go
Flavio Poletti
 
Hive dirty/beautiful hacks in TD
Hive dirty/beautiful hacks in TDHive dirty/beautiful hacks in TD
Hive dirty/beautiful hacks in TD
SATOSHI TAGOMORI
 
Sinatra for REST services
Sinatra for REST servicesSinatra for REST services
Sinatra for REST services
Emanuele DelBono
 
Fisl - Deployment
Fisl - DeploymentFisl - Deployment
Fisl - Deployment
Fabio Akita
 
Exactly once with spark streaming
Exactly once with spark streamingExactly once with spark streaming
Exactly once with spark streaming
Quentin Ambard
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
Arto Artnik
 
Haproxy - zastosowania
Haproxy - zastosowaniaHaproxy - zastosowania
Haproxy - zastosowania
Łukasz Jagiełło
 
Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017
Jonathon Brouse
 
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation CenterDUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
Andrey Kudryavtsev
 
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
"Ops Tools with Perl" 2012/05/12 Hokkaido.pm
Ryosuke IWANAGA
 
DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜
DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜
DBA だってもっと効率化したい!〜最近の自動化事情とOracle Database〜
Michitoshi Yoshida
 
Debugging Ruby Systems
Debugging Ruby SystemsDebugging Ruby Systems
Debugging Ruby Systems
Engine Yard
 
MySQL Spider Architecture
MySQL Spider ArchitectureMySQL Spider Architecture
MySQL Spider Architecture
I Goo Lee
 
Spider Setup with AWS/sandbox
Spider Setup with AWS/sandboxSpider Setup with AWS/sandbox
Spider Setup with AWS/sandbox
I Goo Lee
 
Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)
Ontico
 
Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM  Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM
Mark Rees
 
Debugging Ruby
Debugging RubyDebugging Ruby
Debugging Ruby
Aman Gupta
 
Hive dirty/beautiful hacks in TD
Hive dirty/beautiful hacks in TDHive dirty/beautiful hacks in TD
Hive dirty/beautiful hacks in TD
SATOSHI TAGOMORI
 
Fisl - Deployment
Fisl - DeploymentFisl - Deployment
Fisl - Deployment
Fabio Akita
 
Exactly once with spark streaming
Exactly once with spark streamingExactly once with spark streaming
Exactly once with spark streaming
Quentin Ambard
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
Arto Artnik
 
Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017
Jonathon Brouse
 
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation CenterDUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
Andrey Kudryavtsev
 

More from Masahiro Nagano (20)

Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/MinAdvanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Masahiro Nagano
 
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1Big Master Data PHP BLT #1
Big Master Data PHP BLT #1
Masahiro Nagano
 
Stream processing in Mercari - Devsumi 2015 autumn LT
Stream processing in Mercari - Devsumi 2015 autumn LTStream processing in Mercari - Devsumi 2015 autumn LT
Stream processing in Mercari - Devsumi 2015 autumn LT
Masahiro Nagano
 
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
Masahiro Nagano
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Masahiro Nagano
 
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LTNorikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Masahiro Nagano
 
メルカリでのNorikraの活用、 Mackerelを添えて
メルカリでのNorikraの活用、 Mackerelを添えてメルカリでのNorikraの活用、 Mackerelを添えて
メルカリでのNorikraの活用、 Mackerelを添えて
Masahiro Nagano
 
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LTGazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Masahiro Nagano
 
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LTMackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LT
Masahiro Nagano
 
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
Masahiro Nagano
 
Isucon makers casual talks
Isucon makers casual talksIsucon makers casual talks
Isucon makers casual talks
Masahiro Nagano
 
blogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べblogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べ
Masahiro Nagano
 
Gazelle - Plack Handler for performance freaks #yokohamapm
Gazelle - Plack Handler for performance freaks #yokohamapmGazelle - Plack Handler for performance freaks #yokohamapm
Gazelle - Plack Handler for performance freaks #yokohamapm
Masahiro Nagano
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
 
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LTWeb Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Masahiro Nagano
 
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
Masahiro Nagano
 
Webアプリケーションの パフォーマンス向上のコツ 実践編
 Webアプリケーションの パフォーマンス向上のコツ 実践編 Webアプリケーションの パフォーマンス向上のコツ 実践編
Webアプリケーションの パフォーマンス向上のコツ 実践編
Masahiro Nagano
 
Webアプリケーションの パフォーマンス向上のコツ 概要編
 Webアプリケーションの パフォーマンス向上のコツ 概要編 Webアプリケーションの パフォーマンス向上のコツ 概要編
Webアプリケーションの パフォーマンス向上のコツ 概要編
Masahiro Nagano
 
Webアプリケーションとメモリ
WebアプリケーションとメモリWebアプリケーションとメモリ
Webアプリケーションとメモリ
Masahiro Nagano
 
最近作ったN個のCPANモジュール Yokohama.pm #10
最近作ったN個のCPANモジュール Yokohama.pm #10最近作ったN個のCPANモジュール Yokohama.pm #10
最近作ったN個のCPANモジュール Yokohama.pm #10
Masahiro Nagano
 
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/MinAdvanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Advanced nginx in mercari - How to handle over 1,200,000 HTTPS Reqs/Min
Masahiro Nagano
 
Big Master Data PHP BLT #1
Big Master Data PHP BLT #1Big Master Data PHP BLT #1
Big Master Data PHP BLT #1
Masahiro Nagano
 
Stream processing in Mercari - Devsumi 2015 autumn LT
Stream processing in Mercari - Devsumi 2015 autumn LTStream processing in Mercari - Devsumi 2015 autumn LT
Stream processing in Mercari - Devsumi 2015 autumn LT
Masahiro Nagano
 
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
メルカリのデータベース戦略 / PHPとMySQLの怖い話 MyNA会2015年8月
Masahiro Nagano
 
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015ISUCONの勝ち方 YAPC::Asia Tokyo 2015
ISUCONの勝ち方 YAPC::Asia Tokyo 2015
Masahiro Nagano
 
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LTNorikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Norikraで作るPHPの例外検知システム YAPC::Asia Tokyo 2015 LT
Masahiro Nagano
 
メルカリでのNorikraの活用、 Mackerelを添えて
メルカリでのNorikraの活用、 Mackerelを添えてメルカリでのNorikraの活用、 Mackerelを添えて
メルカリでのNorikraの活用、 Mackerelを添えて
Masahiro Nagano
 
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LTGazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Gazelle & CPAN modules for performance. Shibuya.pm Tech Talk #17 LT
Masahiro Nagano
 
Mackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LTMackerel & Norikra mackerel meetup #4 LT
Mackerel & Norikra mackerel meetup #4 LT
Masahiro Nagano
 
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
ISUCON4 予選問題で(中略)、”my.cnf”に1行だけ足して予選通過ラインを突破するの術
Masahiro Nagano
 
Isucon makers casual talks
Isucon makers casual talksIsucon makers casual talks
Isucon makers casual talks
Masahiro Nagano
 
blogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べblogサービスの全文検索の話 - #groonga を囲む夕べ
blogサービスの全文検索の話 - #groonga を囲む夕べ
Masahiro Nagano
 
Gazelle - Plack Handler for performance freaks #yokohamapm
Gazelle - Plack Handler for performance freaks #yokohamapmGazelle - Plack Handler for performance freaks #yokohamapm
Gazelle - Plack Handler for performance freaks #yokohamapm
Masahiro Nagano
 
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Dockerで遊んでみよっかー YAPC::Asia Tokyo 2014
Masahiro Nagano
 
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LTWeb Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Masahiro Nagano
 
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
ISUCONで学ぶ Webアプリケーションのパフォーマンス向上のコツ 実践編 完全版
Masahiro Nagano
 
Webアプリケーションの パフォーマンス向上のコツ 実践編
 Webアプリケーションの パフォーマンス向上のコツ 実践編 Webアプリケーションの パフォーマンス向上のコツ 実践編
Webアプリケーションの パフォーマンス向上のコツ 実践編
Masahiro Nagano
 
Webアプリケーションの パフォーマンス向上のコツ 概要編
 Webアプリケーションの パフォーマンス向上のコツ 概要編 Webアプリケーションの パフォーマンス向上のコツ 概要編
Webアプリケーションの パフォーマンス向上のコツ 概要編
Masahiro Nagano
 
Webアプリケーションとメモリ
WebアプリケーションとメモリWebアプリケーションとメモリ
Webアプリケーションとメモリ
Masahiro Nagano
 
最近作ったN個のCPANモジュール Yokohama.pm #10
最近作ったN個のCPANモジュール Yokohama.pm #10最近作ったN個のCPANモジュール Yokohama.pm #10
最近作ったN個のCPANモジュール Yokohama.pm #10
Masahiro Nagano
 

Recently uploaded (20)

Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Safe Software
 
Why "Smart" AI Isn't Enough for Telecom Anymore
Why "Smart" AI Isn't Enough for Telecom AnymoreWhy "Smart" AI Isn't Enough for Telecom Anymore
Why "Smart" AI Isn't Enough for Telecom Anymore
Phoenix Intelligence
 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
Julia Undeutsch
 
Salesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docxSalesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docx
José Enrique López Rivera
 
Collab Space by SIB (Simple Is Beautiful)
Collab Space by SIB (Simple Is Beautiful)Collab Space by SIB (Simple Is Beautiful)
Collab Space by SIB (Simple Is Beautiful)
SipkyJayaPutra
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
MAIA Knowledge Tools Launch Event.pptx.pdf
MAIA Knowledge Tools Launch Event.pptx.pdfMAIA Knowledge Tools Launch Event.pptx.pdf
MAIA Knowledge Tools Launch Event.pptx.pdf
weADAPT
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Hands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordDataHands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordData
Lynda Kane
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersAutomation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Lynda Kane
 
Top 10 Content Writing Services in 2025.pdf
Top 10 Content Writing Services in 2025.pdfTop 10 Content Writing Services in 2025.pdf
Top 10 Content Writing Services in 2025.pdf
BookWizard Co.
 
ICT IS FOR LIFE-LONG LEARNING AND TEACHER PROFESSIONAL DEVELOPMENT
ICT IS FOR LIFE-LONG LEARNING AND TEACHER PROFESSIONAL DEVELOPMENTICT IS FOR LIFE-LONG LEARNING AND TEACHER PROFESSIONAL DEVELOPMENT
ICT IS FOR LIFE-LONG LEARNING AND TEACHER PROFESSIONAL DEVELOPMENT
falakzehra17
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
beginning_lambda_minimium_of_40_length.pptx
beginning_lambda_minimium_of_40_length.pptxbeginning_lambda_minimium_of_40_length.pptx
beginning_lambda_minimium_of_40_length.pptx
ShashankER1
 
Cisco Certified Support Technician Networking Certificate
Cisco Certified Support Technician Networking CertificateCisco Certified Support Technician Networking Certificate
Cisco Certified Support Technician Networking Certificate
VICTOR MAESTRE RAMIREZ
 
Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Managing Changing Data with FME: Part 2 – Flexible Approaches to Tracking Cha...
Safe Software
 
Why "Smart" AI Isn't Enough for Telecom Anymore
Why "Smart" AI Isn't Enough for Telecom AnymoreWhy "Smart" AI Isn't Enough for Telecom Anymore
Why "Smart" AI Isn't Enough for Telecom Anymore
Phoenix Intelligence
 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
A11y Webinar Series - Level Up Your Accessibility Game_ A11y Audit, WCAG, and...
Julia Undeutsch
 
Salesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docxSalesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docx
José Enrique López Rivera
 
Collab Space by SIB (Simple Is Beautiful)
Collab Space by SIB (Simple Is Beautiful)Collab Space by SIB (Simple Is Beautiful)
Collab Space by SIB (Simple Is Beautiful)
SipkyJayaPutra
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
MAIA Knowledge Tools Launch Event.pptx.pdf
MAIA Knowledge Tools Launch Event.pptx.pdfMAIA Knowledge Tools Launch Event.pptx.pdf
MAIA Knowledge Tools Launch Event.pptx.pdf
weADAPT
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Hands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordDataHands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordData
Lynda Kane
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersAutomation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Lynda Kane
 
Top 10 Content Writing Services in 2025.pdf
Top 10 Content Writing Services in 2025.pdfTop 10 Content Writing Services in 2025.pdf
Top 10 Content Writing Services in 2025.pdf
BookWizard Co.
 
ICT IS FOR LIFE-LONG LEARNING AND TEACHER PROFESSIONAL DEVELOPMENT
ICT IS FOR LIFE-LONG LEARNING AND TEACHER PROFESSIONAL DEVELOPMENTICT IS FOR LIFE-LONG LEARNING AND TEACHER PROFESSIONAL DEVELOPMENT
ICT IS FOR LIFE-LONG LEARNING AND TEACHER PROFESSIONAL DEVELOPMENT
falakzehra17
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
beginning_lambda_minimium_of_40_length.pptx
beginning_lambda_minimium_of_40_length.pptxbeginning_lambda_minimium_of_40_length.pptx
beginning_lambda_minimium_of_40_length.pptx
ShashankER1
 
Cisco Certified Support Technician Networking Certificate
Cisco Certified Support Technician Networking CertificateCisco Certified Support Technician Networking Certificate
Cisco Certified Support Technician Networking Certificate
VICTOR MAESTRE RAMIREZ
 

Introduction to cloudforecast